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
It sounded like a good number.  Clients will update Zookeeper with the oldest active timestamp of snapshots/transactions that they are using.  The garbage collection iterator will be pick the oldest timestamp of all clients for clean up.  If the the time period is too short like 5 seconds.  Clients may overload zookeeper with updates.  If too long, garbage collection will keep older versions of data unnecessarily.   This can be tuned over time.  It could be an configuration property but I think it's better to hide it from users until we find it needs to be set to different values for different environments.