Provide our own C interface to rocksdb.

Stop using the rocksdb C interface and instead provide our own C
interface to rocksdb. This makes it cleaner to implement various bits of
cockroach-specific functionality in C++ such as the compaction filter
logic and merge operator.

This is a bit dangerous--obviously Go's GC doesn't know there's now another reference to b. If you're sure the callers of this method supply byte slices which will keep references for the duration that C++ holds onto the object, fine. But add a big warning comment here.