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.
FML. 

Ok. I think it's time to put this in a privately shared module so that both Motor and Servo (and whatever else) can use it. As long as it's not exposed, its usage is heavily scrutinized and used very sparingly, then I'll be ok.