Created a series of Track classes

These replace the metadata helper method, as well as providing a wrapper for URIs
Added support for metadata to track objects
Increment the updateId after adding to the queue

This is because AddURIToQueue doesn't return a NewUpdateID, so we presume it has incremented
Converted exception annotations to method calls