Logger within Device class and the sample CardReader project
IDisposable interface on IOsdpConnection interface and all
classes that derive from it
IOsdpServer interface which works with Serial AND TCP to be
used by the device that is intended to open a listening side
of a network connection and wait for the client to connect to
it
Fixed establishing secure channel between PD and ACU
Added logging within Device class to help troublshoot stuff
Make IOsdpConnection interface fully async so that the ability
is there when it is needed (i.e. tcp) and implementation still
has the option of being fully sync and simply returning
Task.CompletedTask when not needed (i.e. serial)
Cleaned up all build warnings
Cleaned up runtime error/warning logs
Make Serial PD connection more resilient such that if it connects
to a port that already has some data, the timeout won't cause
entire PD to permanently fail, but rather it will handle the error
and recreate serial comm port connection (will also handle any
other transient comm error via same logic)