Add ApproximateSize() method to Engine

Commit adds ApproximateSize() method on the Engine interface, designed to
utilize the GetApproximateSize() method of the rocksdb engine.

+ Implemented in both rocksdb and inMem Engine structs
+ Adds compression-aware test for the method.
Yes, mention this returns a size in bytes. But keep it returning an error--the fact that RocksDB doesn't return one doesn't mean the interface shouldn't accommodate it.