initial transactional implementation
start adding support for transactional inserts. works for very small transactions but still buggy for more complex things
add a custom rcu threadinfo thing that no-ops rcu deallocates so we don't have any weird memory bugs (just leaks), and fix various bugs, etc. such that MassTrans now works with all the concurrent.cc tests
this commit has all the changes to the actual masstree code to support annnoying write my own failed reads and the like (probably will be made to not use a vector in a future commit)
move MassTrans out of Masstree namespace
cleanup code and use local_vector (doesn't seem to effect overall performance much)
move MassTrans.hh to sto repo
remove extraneous stuff
rename ivars
Merge pull request #6 from nathanielherman/sto

Add necessary methods to support finding nodes/versions resulting from a split
Switch from nremoved_ tracking to modstate_.

nremoved_ was a correct way to ensure that Masstree's version number
changed at the right times to avoid bugs, when accessing Masstree
via its get/put/scan interface. But Silo needs to access Masstree
in an additional way, via full_version_value(). We want the following
invariant: If the set of keys in a leaf changes, then its
full_version_value() also changes. But a delete followed by an insert
might not change full_version_value()! So ensure that any transition
between "inserting" state and "removing" state changes full_version_
value(). Found with Nathaniel Herman.
Merge pull request #1 from kohler/master

Merge new changes