hide std::map in MemoryDB
add missing operator* and txn reset

- sandwich and memory db now allows traversing deeper
- sometimes it is useful to reset transaction to pristine state
Merge branch 'gcc-4.8' into gcc-4.7

Conflicts:
	include/leveldb/memory_db.hpp
move Walker into stack layers (API change)

- Since almost every layer provides its own IteratorType there is no
  much sense to keep generic version with specializations. Thus
  leveldb::Walker<T> moved into each class that provides walking.
- AnyDB now provides its default iterator that is simply wrapper around
  result of NewIterator().
expose issues with walking while modifying

- insert into transaction is hid from walker if it happens before
  position where cover currently points to (even ifcurrent key of txn
  walker is lower)
- delete of element that txn walker currently points to doesn't work if
  that's element from base collection
Merge branch 'gcc-4.8' into gcc-4.7

Conflicts:
	include/leveldb/bottom_db.hpp