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?
Yeah, I think that is a good abstraction.  I'd like to make is easy for people to use this particular board without needing to understand that there are shift registers, or which control pins map to which HBridge pins.

If we generalize this as a "ShiftRegister" controller, what do you think is the best way to allow a simple choice?  We can mitigate any confusion by documenting this in a "common configurations" table, but giving it to them out of the box feels more accessible.

Perhaps we can have a motors constant?  `five.Motor.CONSTANTS.ADAMOTOV1.M1` perhaps?  Something like that?