Add wtperf run script to take avg of multiple runs.
Add LD_LIBRARY_PATH because some tests need snappy.
Changes to speed up retrieving a key from a leaf page.

If we roll-backward through a set of prefix compressed keys where the
prefix doesn't decrease, we don't need to roll forward through them, we
can start our roll-forward at the key that was the first we found with
the smallest prefix.

Don't bother allocating a temporary WT_ITEM if we don't need to, if we
are just taking the cell's bytes from the page, there's no additional
work that's necessary.
Skip a couple of function calls just to figure out we don't need
to grow the return buffer.
Merge pull request #970 from wiredtiger/faster-leaf-key

Changes to speed up retrieving a key from a leaf page.
Inline the buffer-size check parts of the standard scratch buffer
functions in a new inline file, include/buf.i.

Remove a couple of inlined buffer size tests, they're no longer needed.

Fix a few places to use __wt_buf_extend instead of rolling their own
versions.
Use per-cursor temporary memory to hold search keys during binary search
of the page, avoiding instantiating keys during a search.  This speeds
up a single access to the key by avoid atomic operations and temporary
buffer and memory allocation during the search, but at the cost of not
speeding up subsequent searches on the same page).
Fix a comment, the row-store leaf page search loop no longer instantiates keys.
WT_ITEM wasn't being cleared, so if the key was not instantiated we
dropped core.  Format reads every key it inserts, and that action was
instantiating the keys, now we're not instantiating the keys, we hit
the bug.
Use the local variable, don't repeat the retrieval (the compiler should
figure it all out, but it still looks wrong).
Another bug caused by an uninitialized WT_ITEM structure combined with an
uninitialized key, found because all keys are no longer instantiated during
a test/format run.
Restructure the code to avoid instantiating the key until it's necessary.
Clean-up callers of __wt_row_leaf_key: use a scratch buffer instead of
a fresh WT_ITEM, and in one place, don't clear/free the buffer on every
instance of a loop, do it a single time outside of the loop.
Turn on logging 30% of the time.
Copy keys into the in-memory log for transactions: ordinary operations no longer point at any on-page structures apart from WT_UPDATEs.
Leak fix: destroy a condition variable used by the log manager.
If we skip any updates on a page, they must be restored after a save/restore.  If the oldest transaction ID moves while we are reconciling a page, we could skip an update but then decide that all updates on a page are stable.  When the page is restored, the skipped update is lost.

refs #969
Log transactional operations immediately, so that the only pointers kept are to WT_UPDATEs.  Split out `__wt_txn_modify` into two parts: the first creates an WT_TXN_OP structure (for rollback), the writes a log record into the in-memory log buffer.
Exclude log file when copying for salvage: they could be removed by log archive during the copy.
Add a couple of missing flags to debug output.