Accelerometer: ADXL345, support, test, example, breadboard, etc.

cc @BrianGenisio @dtex @divanvisagie 


Quick reality check comparisons.


The following code: 
```c
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_ADXL345_U.h>

Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified(12345);

void setup(void) {
  Serial.begin(9600);

  if (!accel.begin()) {
    while(1);
  }  

  accel.setRange(ADXL345_RANGE_2_G);
}

void loop(void)  {
  sensors_event_t event; 
  accel.getEvent(&event);
 
  Serial.print("X: "); Serial.print(event.acceleration.x); Serial.print("  ");
  Serial.print("Y: "); Serial.print(event.acceleration.y); Serial.print("  ");
  Serial.print("Z: "); Serial.print(event.acceleration.z); Serial.println("  ");

  delay(500);
}
```

Produces: 

```
X: 0.08  Y: 0.20  Z: 9.89  
X: 0.12  Y: 0.20  Z: 9.85  
X: 0.08  Y: 0.16  Z: 9.81  
X: 0.12  Y: 0.16  Z: 9.89  
X: 0.04  Y: 0.16  Z: 9.89  
X: 0.08  Y: 0.16  Z: 9.89  
X: 0.08  Y: 0.16  Z: 9.85  
X: 0.08  Y: 0.20  Z: 9.92  
X: 0.08  Y: 0.16  Z: 9.89  
X: 0.08  Y: 0.16  Z: 9.92  
```

-----

The following code: 

```js
var five = require("../lib/johnny-five.js");
var board = new five.Board();

board.on("ready", function() {
  var accelerometer = new five.Accelerometer({
    controller: "ADXL345"
  });

  accelerometer.on("change", function() {
    console.log("X: %d   Y: %d   Z: %d", this.x, this.y, this.z);
  });
});
```

Produces: 

```
X: 0.078    Y: 0.16   Z: 9.8
X: 0.12     Y: 0.16   Z: 9.8
X: 0.078    Y: 0.16   Z: 9.8
X: 0.078    Y: 0.2    Z: 9.8
X: 0.078    Y: 0.2    Z: 9.8
X: 0.12     Y: 0.2    Z: 9.8
X: 0.12     Y: 0.16   Z: 9.8
X: 0.12     Y: 0.16   Z: 9.8
X: 0.078    Y: 0.16   Z: 9.8
X: 0.12     Y: 0.16   Z: 9.8
```



Should add a test for negative values.  `Fn.int16(0xF0, 0xF0)` and `Fn.int16(0xFF, 0xFF)` for example.