Add the start of a test that verifies checkpoints.
Implement more of checkpoint test program.
Checkpointer test getting closer.

This test is designed to transactionally update multiple tables with
identical values. While in parallel executing checkpoints and verifying
that all tables in a checkpoint have identical content.

Supports row, column and LSM table types. Can either select multiple
of the same table type, or a mixture of table types.
Add better error handling to checkpoint test.

This should allow us to inspect databases on test failure.
Update checkpoint tester:

* Use a string for value not a raw.
* Change the value each time the same key is updated.
* Dump key/values when logging is enabled.
Checkpoint tester updates based on review feedback.

* Use snapshot isolation in worker thread(s)
* Don't open LSM cursors on a checkpoint
* Fix code that does multiple runs in a single test
* Use the WiredTiger rand implementation, rather than our own.
* Handle deadlocks.
Merge branch 'checkpoint-optimizations' into checkpoint-test
Fix build warnings in checkpoint tester.
Updates to checkpoint tester:

* Clean up cursors after verifying a checkpoint.
* Add command line option to use named checkpoints (-c)
* Dump information if key mismatch encountered.
Fix build warning.
Make sure checkpoint tester decodes values properly.
Don't double free in checkpoint test
Fix an off-by-one in the key count when verifying checkpoints.
Merge branch 'checkpoint-optimizations' into checkpoint-test
Have the checkpoint tester output a better message when there is a value mismatch.
Fix build warning:

../../../test/checkpoint/checkpointer.c:237:6: warning: variable
'second_key_int' is used uninitialized whenever '||' condition is true
[-Wsometimes-uninitialized]
Update checkpoint test

* Fix some build warnings
* Add some more comments
Merge branch 'checkpoint-optimizations' into checkpoint-test
Merge branch 'checkpoint-optimizations' into checkpoint-test
whitespace, spelling