LOTS of new and exciting changes!

There's a lot of code to digest here Rod, but I'll highlight the major stuff:

* Added Genre to Tracks
 * I added a new table "genres" (id, name) which is reference by the "tracks" table (genre_id).
** I did not add a web UI to browse/search by genre.  It is available in the API & indexed from track tags.

* Added support for "album-artist" to Tracks.
** No changes to schema
** Indexer checks if there is an album-artists on the Tracks, adds the Artist (if new) and uses the returned ID for the Album's artist_id field.  The actual artist on the track is used for the artist_id on the Track (they will be different for compilations, soundtracks).
** If no album-artist specified, the artist is used for both
** Required modifying a few of the sql queries (Browswer for Artist now shows Albums that Artist appears on, but might now belong to the Artist)

* Replaced all deprecated Vector/Hashtable instances with List/Map

* Added support for param "fromDate" in API, which will show only music items (Tracks, Artists, Albums) that have been modified since the given date.
** This allows setting a watermark when retrieving data via a mobile app (so I can keep a local copy of the library and periodically retrieve only things that have changed in the db)