Small pathfinding fixes (RIPD-735)

Fix a small collection of pathfinding problems explained in RIPD-735. Also, don't process transactions when we're started with --net and have never had a network ledger -- it just produces nonsensical results and we don't relay them anyway.

Reviewers: @vinniefalco, @ximinez

Now with unit tests passing! (There was a bug in determining whether the issuer needed to be removed from the final path output.)

@ximinez The "covering path" is not different than the other paths except that it has sufficient liquidity to complete the entire payment all by itself. Say you're trying to pay $100. If you find a path that can cover $50, a path that can cover $15, and a path that can cover $55, the three together may or may not be able to make the entire payment because the liquidity can overlap. By including in the result set the highest-quality path that can make the entire payment by itself, you ensure the payment will be possible even with the worst case of liquidity overlap.

@vinniefalco A lot of that is already in the README.md file. I can move this there too.