Auto reclaim domains

https://jira2.iparadigms.com/secure/RapidBoard.jspa?rapidView=18&selectedIssue=TRN-22
I realized one other difficulty with putting the keepalive goroutine in the datastore is that we don't want non-fetchers who use the datastore to identify themselves as active fetchers. However the KeepAlive also has another design issue: both the fetch manager and the datastore need to know how often they each expect it to be called, which is a somewhat awkward contract.

So here's my thought for now:
- Add a `RegisterFetchManager(claimToken)` call to the Datastore interface. This call will internally start the keepalive goroutine
- Add `Close()` to the Datastore interface, which it already implements anyway to close the gocql connection. In there we can signal the keepalive goroutine to stop and wait until it does
- Move management of the claim token, currently in the datastore, to the fetch manager (it seems to make sense for the fetch manager to own that anyway)
- At this time I'm only expecting one RegisterFetchManager call per datastore, so I think you can implement it that way

What do you think?