Add from_frames/from_channels classmethods to FrameList objects.

These are alternate constructors which work identically
to the from_frames/from_channels standalone functions.
Update included libsamplerate to version 1.8.

Cleanup build process to involve less #include hacks
which should make it easier to handle future updates.
Add sanity checks and unit tests to track2track's format changing options.

That is, ensure the user doesn't plug in negative sample rates
and so forth.
Fix player to handle unusual sample rates.
Have closed CDDA track readers raise ValueError properly.