API for improved Unit Testing (RIPD-432)

* Added new test API's:
    Ledger::pointer createGenesisLedger(std::uint64_t start_amount_drops,
                                        TestAccount const& master);
    TestAccount createAccount();
    void freezeAccount(TestAccount& account, Ledger::pointer const& ledger);
    void unfreezeAccount(TestAccount& account, Ledger::pointer const& ledger);
    void makePayment(TestAccount& from, TestAccount const& to,
                     std::uint64_t amountDrops, Ledger::pointer const& ledger);
    void makePayment(TestAccount& from, TestAccount const& to,
                     std::string const& currency, std::string const& amount,
                     Ledger::pointer const& ledger);
    void createOffer(TestAccount& from, Amount const& in, Amount const& out,
                     Ledger::pointer ledger);
    void cancelOffer(TestAccount& from, Ledger::pointer ledger);
    void makeTrustSet(TestAccount& from, TestAccount const& issuer,
                      std::string const& currency, double amount,
                      Ledger::pointer const& ledger);
    Ledger::pointer close_and_advance(Ledger::pointer ledger,
                                      Ledger::pointer LCL);

* Moved Ledger tests from Ledger.cpp to Ledger.test.cpp.

* Changed several TransactionEngine log priorities from lsINFO to lsDEBUG to
  reduce unnecessary verbosity in the log messages while running these tests.

* Moved LedgerConsensus:applyTransactions from a private member function to a
  free function so that it could be accessed externally, and without having to
  reference a LedgerConsensus object.  This was done to facilitate the new
  testing API.