Create a new routine that creates internal sessions (the old "internal"
flag to the general-purpose session creation function), add optional
code to acquire a reference to the metadata file.

Some minor cleanups, setting the internal session's name in a few places.

Reference #1073.
We no longer check for the log file here, fix a comment.
Fix a comment, __session_close_cache is not called holding the schema
lock.
The connection handle code shouldn't really be dealing with session-style
cached handles (WT_DATA_HANDLE_CACHE), and there's duplicated code to close
all of the cached session handles. Instead of exporting a call to discard
a single handle, export a call to discard all of the handles.
Skip decrementing the connection's reference count when discarding
session-cached handles for internal sessions.
Instead of keeping a list of file URIs for checkpoint to flush,
open a handle and stash it.  Original references is #1114 and
Flush files in the order they were opened.
txn/txn_ckpt.c:260:33: error: 'i' may be used uninitialized in this function
Clear the count of checkpoint handles after flushing.
Merge pull request #1144 from wiredtiger/ckpt-leaf-cache-handles

Make checkpoint cache handles, not a list of URIs, when flushing leaf pages.
Grab the live lock when loading a checkpoint in diagnostic mode: that could race with a read.

refs #1102
Mark some internal sessions as not allowed to open data handles.  Use this to ensure that we can safely keep some sessions open after all data handles are closed.  Switch LSM to use the new __wt_open_internal_session call.
Bump the number of slots for internal sessions: we have a lot more than 2 now.
Merge pull request #1146 from wiredtiger/load-live-lock-diagnostic

Grab the live lock when loading a checkpoint in diagnostic mode
Free the handle list allocated during checkpoints.
Merge pull request #1141 from wiredtiger/acquire-metadata-at-session-create

Cache metadata reference when creating internal sessions.
Merge branch 'develop' into log-cursor