Transaction history refactor

Refactors the transaction history into two services:
 - TransactionHistory
   - Maintains a raw history of transactions from stellard
   - Handles the core pagination processing
   - Returns a page of transactions matching a given filter
   - Sets up listeners that fire when new transactions occur matching a given filter
 - PaymentHistory
   - Provides pages of payment transaction processed with the JsonRewriter
   - Broadcasts an event when new payment transactions occur
   - Fetches contacts for accounts involved in payment transactions

This lays the ground work for adding the TradeHistory service that will filter and process trades out of the meta data in the transaction history.

Ground work for #984.
imo it makes the file look disheveled if there's many newlines between groups of similar vars (similar to why java programmers group private final class variables together, private class variables together, etc) but okay