Ledger test

https://ripplelabs.atlassian.net/browse/RIPD-432

@JoelKatz @vinniefalco 

This is still somewhat of a WIP, but it is time to get the bulk of it onto develop, get some experience with it, and see where we go from there.
I expect `TransactionEngine::applyTransaction` takes a shared_ptr in its first argument.