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.
Re: `setPin` and `setPWM`

- There is a parameter mismatch; pick either `opts` or `pin, value`, either (or both) are ok by me.
- Both should drop the `set` and just be called `pin` and `pwm`
- Both should store the param values they receive in the `priv` state object
- Both should return the param values from `priv` state object if no argument is provided, probably as a fresh object with properties `pin` and `value` (this would support making the param `opts`, but you could make it accept both)
- Both should return the instance if no arguments passed.

Thoughts? The method renaming and param consistency are definite changes; tell me what you think about the state saving and returning.