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?
I did something very similar for the PCA9685, only I created an object on the board called "drivers" and then stored my references in there using the I2C address as the key name. Maybe "controllers" would be a better label for that object? We could safely change that without impacting the surface API.

It's technically possible that two shift registers could be used so maybe the key should include the data pin name (i.e. shiftRegister8)?.