Added support for validation tests to DocTest.py (input:validate and command:validate)

It is now possible to use @smallexample @c input:validate (and
command:validate) to specify that an example should just be read by
ledger (and checked for errors) or that a ledger command should be
executed (with default input -f sample.dat, if none is specified).

These annotations have been added into ledger3.texi where appropriate.

Running the ledger3.texi test now takes a second or two, but a lot of
the @smallexamples are now automatically tested.