Breaking API Change: Swap indexes of Wav.Data*. Add API for reading WAV in chunks. Added unit tests for 'wav' package

Changes in this commit:

1) Changed Wav.Data8, Wav.Data16, and Wav.Data to be indexed by sample and then by channel.
2) Added API to stream a wav from an io.Reader rather than loading all data into memory.
3) Added unit tests for 'wav' package.

Change #1 is a breaking change to the current API.