Добавил .ToString к ISO-TP фреймам
Сделал исключение IsoTpSequenceException чуть более подробным
WinUsbAppiDev теперь переобораичивает ошибки при создании экземпляра USBDevice и любые ошибки при чтении из труб как AppiConnectionException - должно поспособствовать правильному отлову исключений, связанных с работой с АППИ
Первые шаги в UnitTests
Написаны тесты для First и ConsecutiveFrame
Добавлены тесты для FlowControl- и SingleFrame
Merge pull request #1 from NpoSaut/Tests

Влил Женины юнит-тесты
Исправлено сообщение IpdState (правда, оно сгенерировано генератором, так что это потом похерится)
В IpdEmulation внесена функция для рассчёта частоты и направления вращения исходя из физических параметров системы.
Формула взята у Юры из исходника программы АППИ.
Почему-то скорость нужно домножать на 160.
В класс MmAltLongFrame добавлены констркуторы
Исправлены ошибки в кодировщике сообщения MM_ALT_LONG
Сделал более корректное сравнение в HalfsetVallue.IsValid
Функция для понимания того, какому полукомплекту соответствует указанный дескриптор
Написал .ToString() для SysDataQuery
В Port добавлено событие Closed. Для AppiCanPort оно вызывается при отключении AppiDev
Добавлены исключения PortException
Исправлены ошибки в декодировщие сообщения MM_ALT_LONG
Merge branch 'master' into sockets

Conflicts:
	AppiDrvWinusb/WinusbAppiDev.cs
	BlokFrames/Frames.cs
	Communications/Communications.csproj
	Communications/Port.cs