basic stab at getting this to work with rust

compiles but a lot is still missing:
 * only looks up first row by hash
 * only writes first row with the same hash
 * no delete
move things around, rust code is not compilable
add original assignment
ignore rust build dir
fixup lifetime issues thanks to @doy in IRC for lookup
cleanup tests
Vec<Box<Row>> -> Vec<Row>
stab at remove
make remove work
minor cleanups
equivalent code in rust and c++