changed 'setVolume' to accept volume range 0..1 Where 0 == -127dB and 1 == 0dB. Exposed '_normalizeVolume' for test suite
adjusted test suite to work with changes to setVolume
updated examples of setVolume
referenced the decimal levels for the volume level in readme
fixed code example in readme
fixed 'headphones' references in docs and examples for setOutput
normalizing volume to round not floor
Merge #37 r=@johnnyman727: Fix Volume and I/O Documentation

This PR addresses tessel/audio-vs1053b#36. 

The api is now consistent with the documentation. 

0 = lowest volume level (-127dB) and 1 = highest volume level (0dB). 

* A value above 1 will be set to 1 and below 0 set to 0.
* All values are rounded to the nearest half decimal per hardware specs.
* exposed a private method `_normalizeVolume` for code reduction and test suite.

I did run into the following issues:

* test suite was a little hard to run. Resorted to `tessel run test/test.js` so I could see the output. It passes everything but hangs at the end.
* In the argument sniffing I ran into issue with isNaN return `false` for everything. I skipped running runtime tests and used a `typeof` check instead.
* I caught some errors with the `setInput` method in the docs and examples. Not really part of this PR. I can break out if need be.