Closes #8 - Made garbage collection iterator determine oldest active snapshot.  

Pull request for #8 

Created TimestampTracker to keep track of timestamps in Zookeeper.  Modified GC iterator to get oldest active timstamp from Zookeeper. Created integration tests for TimestampTracker and GCIterator
Transaction is passed into Loader and Observer, if it has a close() or commit() method that would be confusing.  The user might think they should call those methods, but in those cases we never want them to.  

If FluoClient could create some sort of Transaction object, then that should have commit() and close() methods.   However, would want that to be a different interface than whats passed to Loader and Observer.    I think that would be a separate issue.  For this issue, I do not think we shold add commit() or close() to Transaction as its only used in API in Loader and Observer.