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 REALLY like the idea of requiring the shield as a separate module.  It maps well to the model J5 already has for using different boards (IO).  

But making them separate modules feels like it should be a mix-in approach.  As a board writer, I'd like to be able to assume that my code is being consumed inside of J5 and use any/all abstractions and helpers.

I'll be honest, I don't know exactly what this model looks like in Node/NPM from an idiomatic perspective.  I suppose it would feel like a Grunt or Gulp plugin?

Thinking this through, perhaps it looks more like this:

```javascript
var five = require("johnny-five");
var MotorShield = require("AdafruitMotorShiled1.2");

var board = new five.Board().on("ready", function() {
  var motorShield = new MotorShield(board);
  //board.attach(motorShield); <--- alternative to passing board into MotorShield constructor?

  motorShield.M1.start();
});
```