BF: better handling of aspects of pyo + sound drivers

1) unicode in device names (improved, still fails sometimes)
2) proper max channels for non-default drivers on Windows

- still need try/except in Windows with unicode device names (= from pyo.pa_get_device())
- to be consistent I went with "return -1" instead of core.quit() if no sound device found
  but seems like it will crash soon after that
- Just a note: pyo now incorporates its own __del__ method (thanks to JWP),
  so the only reason to subclass it is to add psychopy logging
Merge pull request #284 from jeremygray/master

pyo sound driver handling