Lots of minor formatting fixes for better readability
Convert bitstream parse/build routines to switch statements

Code simplification makes them much easier to follow.
Add empty_framelist() function to audiotools.pcm

This is a handy way to make empty FrameList objects
without having to pass in empty bytes to the initializer.

Clean up a lot of the old PCM handling functions in the process.
Fix ID3v2 number field padding

It now honors the padding setting more consistently
Fix a few regressions introduced by the latest code cleanups
Detect FrameList objects during ParseTuple where needed

Might as well do it consistently with all the other Python C modules.
Add context management to Ogg page reader/writer

Lots of other minor code cleanups.
Ensure channel_mask is integer in a few more places

Converting it from a possible ChannelMask object is a bit of an anachronism
that still showed up in a few of the tests.
Fix a few Python 2 regressions