New command line LedgerTool (RIPD-243).

* Retrieve and process summary or full ledgers.
* Search using arbitrary criteria (any Python function).
* Search using arbitrary formats (any Python function).
* Caches ledgers as .gz files to avoid repeated server requests.
* Handles ledger numbers, ranges, and special names like validated or closed.
These one-line somewhat-unclear if statement constructions are just that: less clear than a full expanded if/else.