Adding in memory version

This is something I've been toying with for the past few days.  I think the tests are good for the in-memory store but I'll need to revisit writing tests for the PostgreSQL code.