enhance device enumeration

This PR implements the methods to get device serial numbers  and to open a device identified by its serial number. Retrieving the device serial number requires opening the device. ~~Therefore, the device is also reset during enumeration.~~ fixes #21