Merge audiotranscode v0.2 into cherrymusic (fixes #489)

This preserves the `starttime` parameter introduced in cherrymusic audiotranscode. There are also a few other, very minor changes from the original audiotranscode0.2 code.

All these changes should be apparent in diffs of  `audiotranscode/__init__.py` and `test/test_transcode.py`. I'll also add some commit comments here on github in the appropriate places.
added `if not encoder` condition to the check, assuming it should be possible to pass in a custom encoder that's not on the predefined list.