First pass at AdaFruit Motor Shield v1.*

This is my first attempt at implementing an AdaFruit motor shield with directional control.

Hoping to see if I am on the right track before I finish this up (tests, documentation, etc).  

You can create a motor the traditional way with the controller:

```javascript
new five.Motor({
  pins: { pwm: 11 },
  controller: "ADAMOTOV1"
});
```

But since these motors are called out by name and it can be hard to find the documentation which tells us which PWM pin to use for which motor, I built it into the configuration of the controller:

```javascript
new five.Motor({
  name: "M2",
  controller: "ADAMOTOV1"
});
````

Thoughts?
> At the same time, I don't want to this change to mean that I can't instantiate one motor on a given shield using the Motor class.

100% Agreed. The shield definitions are just wrappers for things J5 does already and shield should still be usable using the J5 classes w/o the definition.

Is it safe to assume that other shift register based motor controllers will work the same as this one, just with different shift bits and pwm pins?