Wip async log

Hmm. We basically hold the mds_lock all the time in the main dispatch thread, so I guess getting a 25% utilization out of the encoding thread would be a pretty good number. Did you look at how hard it would be to start sharding the mds_lock by adding a journaler_lock?