Track data handles rather than btree handles.  This shouldn't be a real change, but tightens up some assertions.
Wait for the handle list lock when discarding in-memory chunks from an LSM tree.  This avoids a trylock that has to fight with eviction walks, so we will discard chunks more consistently.

refs #1391
Fix a race between creating and opening an LSM tree that gave an off-by-one reference count.
Move the test run into a subdirectory, WT_TEST.
Make it possible to pass additional information to the die functon's fprintf.
Don't assign uint32_t flags to an int.
Switch to holding the checkpoint lock when opening a bulk cursor.  This avoids a spurious EBUSY without adding more complexity to checkpoints.

refs #1397
Merge pull request #1399 from wiredtiger/bulk-checkpoint-lock

Switch to holding the checkpoint lock when opening a bulk cursor.
Revert to not holding the handle list lock when discarding LSM chunks: that does a lot of work inside a lock that blocks common operations.

refs #1391