Adafruit Motor Shield V2 support

The Adafruit V2 uses the NXP's PCA9685 I2C, Quad H-Bridge controller. There are other devices which use this controller so I targeted that rather than a single specific shield.

A couple of highlights.
* Braking works (that's not supported in the Adafruit library for some reason)
* You can stack 32 of these things :exclamation: 

In addition to Adafruit support, this PR addresses:

* Tests that were not checking to make sure that pins were being set in the right order #433
* Fixes the unrelated start(), stop(), start() issue brought up by @meshy in the #433 discussion thread
* Broke out resume, setPin and setPWM to wrapper functions for simplicity

I've also got the [updated wiki page](https://github.com/dtex/johnny-five/wiki/Motor) ready

I still would like to run another round of hardware testing, but I think it's ready for a look-see and nits.
Man, now I'm really doubting the way I've handled this. Should the PCA9685 stuff should be an io like object that can be assigned to pin.io? It could be used for LED's, servos and steppers too. Some of the implementation specific stuff could be pulled out of motor.js Are their reasons pin.io and board.io have to be the same?