Makes lock stream/queue agnostic
Adds command queue logic so ready event isn't necessary
Changes error handling to only emit an error if a callback wasn't provided.
Added a comment for every method
cleaning up package.json
0.2.0
Merge #38 r=@johnnyman727: Reliability and Consistency Improvements

Infrastructure changes to make the Audio module more reliable:
* Locks the SPI bus while the audio module queue is not empty
* Removes the necessity of the ready event
* Fixes error handling to be consistent with Node conventions
* Heavy commenting.

This PR is dependent on [the relevant firmware PR landing](https://github.com/tessel/firmware/pull/116).