created data/abstract with an abstracted interface for datapages

Copied over and updated the inmem test suite, so it can run from outside
the package now.   I'm not sure this is a good thing -- it's more OO than
ideomatic Go, but... I wanted to try it at least.  Had to tweak inmem
just a little.  It may need more tweaks to get this to work for pods and
clusters, too.
Slightly silly?  Made a 100ms clock for last-modify-time.

This is because the builtin 1ns clock is really slow compared to page
writes -- it's the major bottleneck.