Add ports property to the base IO device

and check if ports are existing before access
Refactor Aerotech HLe IO device

Rename because the ports number is different for different
Aerotech controllers.
Refactor dummy IO device
Change IO device tests
Merge pull request #218 from ufo-kit/io

Io