Log compress

These commits implement log compression to address #1359 .  This does not currently include an option to checkpoint just the header.

There are some fixes to existing code as well:
 -- in block compression, if snappy compress returns a buf larger than the original, we'll use it! https://github.com/wiredtiger/wiredtiger/commit/428fa167621a8c64ee40429853f9d9c31f62df34
 -- use time.sleep(0), not yield: https://github.com/wiredtiger/wiredtiger/commit/9058f6a54b7022d5346622c3656ef874676f5d10

The second fix above now has some txn tests completing that used to return early. It may make the test suite run longer (20% longer for me).
@ddanderson This is great.  The only comment I have is that I think we want to add 1 more stat and to this conditional.  The stat and piece I'd like to see is if record->size < log->allocsize we should skip compression entirely.  Some records can be small and there is no point compressing them if they're already below the minimum size we write to the log.