Completely revamped the internal dependency management code for distributed transactions. I extracted out all of the code for tracking dependencies that was inside of LocalTransaction and moved it into a new class called DependencyTracker.
This will make it easier for us be able to embed prefetched query results without a ton of extra data structures. I moved the lock out of ExecutionState and into LocalTransaction. I think that eventually we can get rid of the ExecutionState entirely...

KB went to a Providence Bruins hockey game. I'm hanging out working on my database listening to baseballs. It's a cool/rainy Saturday night... Pimps up, hoes down I suppose... #125
Forgot to add the ability to create/remove txn states in the DependencyTracker #125
Added in the ability to create/remove txns from the DependencyTrackers in the proper places. We only need to do it for distributed txns when they actually try to execute work on remote partitions #125
Fixed up LocalTransaction.startRound() so that we invoke the DependencyTracker if we're in a dtxn or a *sysproc*. This seems to be working nicely now...
So we have a problem where we are not using the DependencyTracker for single-partition nodes... this is why the tests are failing. I will fix tomorrow morning
Added hackish workarounds for dealing with updates on replicated tables when there is only one partition
Merge remote-tracking branch 'upstream/anticache'
Merged anticache branch from master h-store repo.
Merged anticache branch from main github repo.