New option --ignore-transactions-outside-dates.

Optionally ignore transactions occuring before --first-date or after
--last-date.  This is mainly useful with the --print-register command
that shows an account's running balance between two dates.

If this option *is* used, any transactions before the --first-date will be
ignored and the running balance reported will therefore start at zero.
If this is option is *not* used, any transactions occuring before --first-date
*will* affect the account's balance even though those transactions are not
shown, so the balance history shown might not start at zero.

Probably not worthwhile, but I couldn't decide which way the report should
work, so made it an option.
Documentation improvements.
Two more tests.

Just to increase coverage. It's pretty easy to check test coverage
using the pip coverage package.
--print-balances operation can now be given date(s).

Also two changes that ideally would have gone in separately.
- fixed indentation of --print-balances report so now 2-spaces per
  level, to match --print-chart-of-accounts, and
- fix printing of "$0" so it doesn't come out as "-$0".

Can now specify either:
- --as-at <date>, or
- --first-date <first-date> --last-date <last-date>

If as-at date, specified, report prints balances at the end of that day.

If two dates are specified, prints balances on both dates and also the
differences between the two balances.
.gitignore TAGS
Documentation improvements.