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.