Refactored I/O classes into separate package.
Added docs for io package.
Support a custom data storage layer.
Merge remote-tracking branch 'remotes/origin/master' into stream
Add config checks when using custom page array.
Fix recovery race conditions.
Merge remote-tracking branch 'remotes/origin/master' into stream
Moved and renamed encode/decode utility functions.
Merge remote-tracking branch 'remotes/origin/master' into stream

Conflicts:
	src/main/java/org/cojen/tupl/Database.java