Fix a tracklint file renaming bug

Update all BitstreamReaders to have a size() method.
This returns the remaining size of substreams and queues
but 0 for file and function-based readers.
Dual-license array and bitstream low-level libraries under GPLv2/LGPLv3

This is for extra compatibility with the GMP library piece I've assimilated.

Python Audio Tools depends on the small array and bitstream libraries,
but these libraries don't depend on Python Audio Tools.
By releasing them with a more liberal licensing option, perhaps
someone else will find them useful.
Cleanup bitstream header file

Take a ton of function definitions out of the header file and make them static
so that someone using the bitstream library doesn't have to see them.

However, also make typedefs for the bitstream methods so that
one can pull them out of the struct and use them locally
depending on how the bitstream was opened.
Make a bunch of internal array functions private also
Fix a few functions which were using functions now hidden
Bump version to 3.0 alpha 3
Add audiotools.dvda binary module

This is a pretty thin wrapper around libdvd-audio which
does all the actual decoding.
Add reference documentation for new audiotools.dvda module.
Restore the optional dvdainfo and dvda2track utilities

If libdvd-audio is detected and the audiotools.dvda module is installed,
these utilities are installed also.
Remove total_pcm_frames from dvda.TrackReader object

Although this can be derived from the PTS length of a track,
it's not completely accurate which is unfortunate.
Restore progress indicator to dvda2track

Reorder output columns in dvdainfo

Add context manager support to dvda.TrackReader
Add proper libdvd-audio download URLs
Bump version to 3.0 beta 1

Still some bugs to be fixed and code to clean up,
but it should be feature-complete.