KISS
1. Если библиотека работает с телнетом, логично использовать специализированную либу.
2. Если метод инкапсулирует все низкоуровневые операции по обработке соединения и передачи данных, то ОК.
3. Если Вы портируете библиотеку, то правильным будет сохранить аналогичные интерфейсы. Как конкретно они будут реализованы — не важно. Для пользователей библиотеки её реализация — это чёрный ящик. Поэтому разбивайте по файлам как удобно в данной конкретной реализации. При необходимости пробросите нужные импорты куда надо (например, в __init__.py).
4. см. пункт 3. Делайте как в аналогах, если понадобится, потом добавите обёртку с высокоуровневым интерфейсом.