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.
I like to group variables to make it easier to see what is related. If it is one big glob, you will add a new variable to the end, but if they are organized with newlines, you will probably add it to the end of its logical group.