Segment reads now occur on another goroutine

Now we are missing recent writes to buffers.
BufferCache support added
Writethrough buffercache
Buffer cache redone

Noticed that I had set LevelDB and RocksDB to always use
3GB of memory cache. Instead now it is an command line option.

Also moved out the buffer cache to its own repo.
Buffer cache is a Read miss cache
Get() now requires caller to allocate the buffer
Update iocache test
Added cli args to iodb and updated README