I2Cdev keeps the fd open.

Creating an I2Cdev object opens a file descriptor to the chip which is closed
when the object is destructed. This is used for the PCA9685::setPWM() function
but all of the other calls need to be converted.
Converted PCA9685 driver to use new I2C calls
Merge branch 'issue-5'

Rewritten I2C code.