Finalize autobridging implementation (RIPD-179):

* RIPD-486: Refactoring the taker into a unit-testable architecture
* RIPD-659: Asset-aware offer crossing
* RIPD-491: Unit tests for IOU to XRP, XRP to IOU and IOU to IOU
* RIPD-441: Handle case when autobridging over same owner offers
* RIPD-665: Handle case when autobridging over own offers
* RIPD-273: Groom order books while crossing

Additionally, add support in LedgerEntrySet to allow transfer fees
to be specified by calling code instead of being calculated by the
transfer functions:

* Implement new "issue/redeem" model for IOU movements
* Implement new "transfer" model for IOU movements

Clean up signature verification logic in the main Transactor.

Reviews: @JoelKatz, @rec, @vinniefalco but everyone is welcome to get in on the game.
If it's NEVER going to happen, why do we look for it at all?  :-)

After having to debug production services, I think it's always a good idea if each failure of this type is uniquely identifiable.  Any given failure has a vanishingly small chance of happening, but as you add more and more of these to the mix, eventually one of them will fail - and you'll have no idea what happened!

But I understand that adding a TER is fraught with irk.  Let's keep tabs on how many of these we have.  I bet you, though, that one day we get a tefINTERNAL somewhere...