Replace sf.SoundFile with sf.open in tests

This gives one more line of coverage ...
Make data_mono a column vector
Use read() function instead of read() method in some tests

This adds 9 lines of coverage.
Change file_stereo_w to file_w and file_stereo_rw_new to file_rw_new
Add a test for the write function

This leads to 5 more lines of coverage.
Use read() function instead of method for mono tests
Move all seek() tests into one section
Combine a few trivial test functions to reduce test runtime
Remove superfluous PCM test, add more asserts to FLOAT test
Add test file to check consistent use of default arguments
Use lambdas in addfinalizer() where possible

This the way it was before. A separate local function is only needed for
the case where an exception is expected in the finalizer.
Raise error if write pointer shall be changed in read-only mode

... and vice versa.