mmap support

Michael, this is the first part of the mmap changes: I needed a per-checkpoint structure in which to store the mapping.   In summary, I've added a new structure, WT_BM, which is the per-checkpoint handle.  The WT_BM also has a list of methods the upper-level btree engine uses to call into the block manager.  The list of methods is the change we'd need for pluggable block managers; with this change, adding a second block manager should be relatively straight-forward (assuming it has roughly similar characteristics to the current block manager code).   I didn't bother creating the extension structures, but it's pretty clear how that would work.

Anyway, I've created the pull request so you can easily take a look if you're interested in this change.