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
Yes. Probably we could add a Clear() method? Because in memory implementation, they are the same.

In other implementations, e.g. a mysql driver, Close() means close the connection between mysqld and the client; while Clear() means delete all items in the storage.

For in-memory storage, I think they are the same.