wtperf: added -O optionfile and -o option=value with basic parser.
refs #593

wtperf_ckpt.sh:
  added -O optionfile (passed to wtperf) and -d to run gdb.
wtperf:
  added -O optionfile
  added -o option=value
  utility functions: config_assign(), config_free(), config_option,
    config_option_file(), config_option_line added to implement
    the above options.
Changed option parser to use the WT config parser for the guts of parsing.
refs #593
-O option should override the use of -M/-S.  refs #593
Added a single sample wtperf options file.  refs #593
Changed all command line arg parsing to use the standard parsing.  refs #593
Change default verbose back to none.  refs #593
Changed -S -M -L to internally use config strings. refs #593
Defined all options in wtperf_opt.i, included multiple times. refs #593
Use -o {options} when possible, as many wtperf opts are going away.  refs #593
Added a help description to the definition of each option.
Added config_opt_usage() that prints all options/default values/descriptions.
Removed command line options that are available via -o/-O.
refs #593
Reorder options in alphabetical order.
Remove flagval for random, random_range implies this.
refs #593
Remove flagval for random, random_range implies this.
Expand multiline usage messages to format nicely.
refs #593
Make wtperf compile without an installed WiredTiger tree.
We weren't testing that a valid key format with an invalid value format
failed.  Add code to test and enhance test_schema02 to check.
The "loadtext" command can reasonably create the database.
Add the "loadtext" command to the help/usage output.
Sort the command parsing switch statement alphabetically.
Wrap the btree cursor operations with code that saves/restores the cursor
key/data information, move the handling of WT_CURSTD_{KEY,VALUE}_{APP,RET}
flags out of the btree code and into the cursor code.   Reference #607.
Restore the copy of the key/value as part of entering the API: the reason is
that when a cursor's key or value are pointing at internal memory (which is
what the RET flag indicates), that memory is only safe while the cursor
keeps a page referenced. As soon as the cursor releases the page (which
happens at the beginning of most operations), it could be evicted and the
memory could become invalid.

Make the test for whether or not a WT_ITEM.data field references inside the
WT_ITEM's allocated memory a bit more complicated: overflow items will have
data fields that point inside the allocated memory, not at the start of it.
Clear "key set" flags in LSM if searches fail.
cur_file.c:268: warning: '__value_data' may be used uninitialized in this function
cur_file.c:268: warning: '__key_data' may be used uninitialized in this function
cur_file.c:268: warning: '__value_size' may be used uninitialized in this function
cur_file.c:268: warning: '__key_size' may be used uninitialized in this function
cur_file.c:268: warning: '__recno' may be used uninitialized in this function
spelling typo