All major issues fixed

- Added comprehensive error checking in all classes
- Connected property now works as expected in all situations (e.g. disconnecting motor operation)
- Added DeviceIndex property
- dp_scale and num_values are now cached, first used for FloatValue, second used for bounds check
- Minor fixes 

What's left:
- documentationbe name?
- defining more constants (not required by wrapper specification bC
- TypeID, is it a property in the coming version of ev3dev or will it be name?
- defining more constants (not required by wrapper specification bCut handy)

Future:
- turning the code into R package with full documentation (etc.) and putting snapshot on CRAN as library for R (currently works as normal script to source)

Questions:
- do we really expect (as in wrapper specification) to set Connected property to false on every error? E.g. suppose somebody requests property that doesn't exist with GetAttrString. It is probably sufficent to throw an error and if the user handles it there is no need to "disconnect" from device.
- currently it is solved as defined in wrapper specification (disconnecting on any error except in constructors)