unit tests for storage driver implementation

This PR contains a new package named ``test`` under the storage package. Any new storage drivers should pass all unit tests inside this package as mentioned in #61
Do we want Close() or Clear()? You seem to be using Clear() in the in memory implementation