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
I moved the call to updateZKNode() out the sync block but kept the logic that determines if an update is needed.  While the class still has only one lock, I have minimized the amount of work done in locks.  We can create a ticket to revisit this if you think we need further optimization.