Change order of arguments in read() function

This way the order is more consistent with the open()/write() functions.

It is no longer possible to write this, however:

    data, fs = sf.read('myfile.wav', 1024)

This might be a somehow frequent use case, but it might be unclear what
the numeric argument means ('frames' or 'start' or ...?).
It will lead to clearer user code if we force a keyword argument, e.g.:

    data, fs = sf.read('myfile.wav', start=31542, frames=1024)

As a side effect, the settings for RAW files can now be specified as
positional arguments:

    data, fs = sf.read('myfile.raw', 44100, 2, 'FLOAT')
Merge pull request #54 from bastibe/argument-order

Change order of arguments in read() function
Check if new 'rw' file is actually written
Create test WAV files using the struct module
Check if appending data to 'rw' file works
Merge pull request #55 from bastibe/rw-problem

Generate proper test WAV files
Change default value of start from None to 0
Change a RuntimeError to TypeError
Add blocks() method and function
WIP tests