inherit from abstract-leveldown
inherit from AbstractLevelDOWN & AbstractIterator
remove some c++
use abstract-leveldown for ChainedBatch
remove unused macro
remove some c++ from batch
Merge remote-tracking branch 'origin/use-abstract-leveldown' into 0.11-wip

Conflicts:
	lib/iterator.js
	src/batch.cc
	src/database.cc
	src/leveldown.cc