Bump version to 2.20 alpha 2.
Simplify low-level array library.

Replacing lots of macros with fewer, more all-encompassing ones
should reduce the chances of missing something in the definition,
method assignment or implementation.
Add unit tests for low-level array module.
Add parse() and build() functions to bitstream module.

These are analagous to the struct module's unpack/pack functions
and are meant for working with small chunks of binary data.
Add proper AccurateRip(v1) support to cd2track and trackverify

cd2track automatically queries AccurateRip by default
while trackverify uses the repurposed -R flag
to check extracted tracks against the database.
Add AccurateRip to reference documentation.
Add CD image support to trackverify's -R option.

That is, a file with an embedded cuesheet has
its individual tracks verified against AccurateRip's database
rather than the entire file itself.

Turn the AccurateRip track checksum into a proper audiotools.cdio object
since that's how it's going to be used anyway.
Change names of array structs to something easier.

This involves changing an array of ints from "array_i" to "a_int"
which puts the contained type in the name and the level
of arrays in the prefix.
So an array of arrays of ints [[1,2,3],...] becomes "aa_int", etc.

It should make the code a bit easier to follow, I hope.