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.
Actually, re-re-reviewing the `setPWM` and `setPin` _uses_, I don't think there is any benefit to these special definitions. I think leaving as `this.io.analogWrite` and `this.digitalWrite` is fine.