Cleanup Ogg interface.

This is largely to make it work on buffers which makes it
slightly more generic.
Add low-level audiotools._ogg Page-handling module.

This will replace a lot of the functionality in audiotools.ogg
for faster metadata handling and file parsing.
Convert Ogg FLAC to new Ogg metadata handling interface.

Much faster, but still not very fast.
But since retagging Ogg files will always require a total rewrite
there's a limit on just how fast updating metadata can get.
Convert Ogg Vorbis and Opus to new Ogg page interface.
Ensure deleted TemporaryFile objects have their temp file removed.

In the event the object is deleted before the changes are committed.
Fix edge case bug in Ogg packet encoder.
Adjust AudioFile and MetaData.clean() interfaces.

Returning lists of fixes is more aesthetically pleasing
than appending them to some passed-in list.
Fix a few remaining instances of broken .clean() interfaces.
Convert mpg123 requirement to libmpg123.

This essentially turns the requirement from a runtime one
to an install-time one.  Turning most of the binary requirements
into library ones may solve some of the stability issues
people have been having with the Vorbis tools.
Convert lame requirement to libmp3lame.

As with mpg123, this shifts the requirement from runtime to install-time.
Add config file for build-time library options.

Hopefully the default pkg-config probing will be useful in practice
but a config file with lots of comments should help users know
what the libraries are for and where to get them if necessary.
Convert MP3/MP2 to TemporaryFile interface.

This prevents pulling the whole file into memory to make the change
and should preserve permissions automatically.
Convert twolame requirement to libtwolame for MP2 support.
Widen maximum allowable substream size.

It can now be up to a native-sized unsigned value.
Though a substream of this size is likely an error of some sort.
Convert external oggdec dependancy to internal libvorbisfile one.
Convert Vorbis encoding from oggenc to libvorbis.
Fix Vorbis comment handling bug.
Add vorbis probing to setup script.
Convert Opus decoder from opusdec to libopus.

Perform preliminary rebuild of setup script.
Ultimately, the script will need to do a better job of
probing for things via pkg-config (and not) and display
whether something's missing, what it's used for and where to get it.
Overhaul setup script's external library probing routines.

At the moment it relies pretty heavily on pkg-config
but features a config file for manual specification of available modules.