Adding support for Adafruit Servo Shield and deadband

### Adds support for the [Adafruit 16-channel PWM/servo shield](https://learn.adafruit.com/adafruit-16-channel-pwm-slash-servo-shield/overview).

Refactors Servo() to add Controllers (Standard and the PCA9685 which is used on the Adafruit). There was no need to add a Devices object as Servo.Continuous() shares no methods with Servo() and there are no other devices.
````
this.servo = new Servo({
  pin: 0,
  controller: "PCA9685",
  address: 0x41  // Defaults to 0x40
});
````
You can now control 1004 servos :hushed: with Johnny-Five, a single Arduino Uno, and 62 of these shields stacked. 

Addresses #455 

### Adds deadband support for continuous motion servos:
````
this.continuousServo = new Servo.Continuous({
  pin: 5,
  board: board,
  deadband: [85,95]  // Defaults to [90,90]
});
````

I will update the wiki when this lands. I will be drinking :beers: and awaiting nits until then.
I'm going to add alias methods for `sendI2CWriteRequest` and `sendI2CReadRequest` to Firmata.js