Cache metadata reference when creating internal sessions.

@michaelcahill, I tried to change things so we always, where possible, cache a reference to the metadata when creating an internal session.

A couple of notes:

- We can't open the metadata handle when opening the connection default session and the cache-pool session, the metadata file may not exist; the connection default session opens the metadata explicitly after creating the metadata file, the cache-pool session does nothing special.
- The txn recovery code doesn't open an "internal" session, it opens a normal one.  I wasn't sure if that was deliberate or not, wanted to call it out, just in case.

Reference #1073.