1. Reduce the size of data types wrappers.
2. Integrate transactions from Berkeley DB into storage level.
3. Add abstraction layer for accessing different datastorage
(berkeley db, level db)
4. Move data access cursors under data access interface.
5. Add checkpoints before closing of Berkeley DB envoronment.

Change-Id: I9cb15f39988bd0590b42794dcd55b5c45ac4eb69