New ZincAgent

This pulls a lot of functionality out of ZincRepo and into a new ZincAgent class.

ZincRepo no longer does any automatic updates, though it is still the place where you add sources, and track, update, and load bundles.

ZincAgent now does the automatic updates and owns the DownloadPolicy.

The reason behind this this is to simplify the ZincRepo class and API.

Other nice things in this pull
 - created a new `ZincModelObject` based class for Manifests, and RepoIndexes
 - cleaned up a lot of imports
 - renamed ZincRepoDelegate to ZincRepoEventListener (TODO: consider making this just a block)
 - added some documentation (!!) to ZincRepo