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.
Agreed, this seems embryonic.  It mixes transaction building with application. I suspect the code will need to change a lot as this evolves into something people can use to assert specific changes after a transaction, or to assert failing transactions. This seems useful mostly to build up a ledger, prior to application of a transaction that is the focus of a test. Yet the constructs here won't do much to support the building of this transaction.