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.
Scratch that, it's not a protocol. NXP (the people who make the PCA9685) call it a "controller". Maybe that's the right label?