Changed serialManager to use weakrefs.

Strong dictionaries prevent their keys and values from being deleted,
which in turn was preventing the serial ports represented from being
closed and reopened. This was problematic on Windows machines when
devices were disconnected and reconnected without a restart of the
Python interpreter or kernel. Now forcibly deleting the instrument
itself with the "del" keyword will do the expected thing.