Fixes byte count monitoring and adds some debugging output

ByteCounterMonitor implementations were being updated wrongly by many
 of the components that used them. This is now fixed.
Introduced MonitoredReadableByteChannel as a wrapper around a
 ReadableByteChannel that updates on reads a given monitor. This solves
 most issues with monitoring.
BufferedFileChannel now wraps a ByteCounterMonitor to monitor
 actual writes.
BlockLogBuffer also now updates bytes written on done().
Merge branch '2.0-maint' into 2.0-merge-1.9

Conflicts:
	community/kernel/src/main/java/org/neo4j/kernel/impl/transaction/xaframework/XaLogicalLog.java
	community/kernel/src/main/java/org/neo4j/kernel/impl/util/BufferedFileChannel.java
	community/kernel/src/test/java/org/neo4j/kernel/impl/util/TestBufferedFileChannel.java