Refactoring to eliminate duplicate code.
Exception handling improvements.
Merge remote-tracking branch 'remotes/origin/master' into stream

Conflicts:
	src/main/java/org/cojen/tupl/TreeCursor.java
Reduce code duplication.