Support libsndfile’s virtual file interface

Documented here: http://www.mega-nerd.com/libsndfile/api.html#open_virtual .

I have need of being able to decode FLAC files from memory, so I added support for the virtual file interface in libsndfile.

* Pass a file-like object and set virtual_io=True in the constructor
* If the file-like object represents a stream of data such that seeking would be prohibitive,
  set stream=True. The file-like object must implement its own `__len__` in this case.

This allows you to do the following:

```python
from StringIO import StringIO
from pysoundfile import SoundFile, flac_file
fname = '/Users/davidb/src/01.flac'
fObj = StringIO(open(fname).read())
flac = SoundFile(fObj, format=flac_file, virtual_io=True)
```