Add Generator to extract invoice numbers from slugs.
Need to pull in jekyll (and hence liquid) now.
jekyll pulls in safe_yaml, which breaks guard-minitest. Workaround.

guard-minitest runs the tests in a subprocess and passes the notifier
configuration as a YAML dump in the GUARD_NOTIFIERS environment
variable. This fails if safe_yaml is being used in the child process
as the symbols will be converted to strings. Our workaround is to
load safe_yaml as early as possible through the test_helper.rb file
and enable symbol parsing.
Add zero_pad filter, for invoice numbers for example.
Add safe and priority declarations for generator.
Beginnings of Invoice model and internal DSL.
Split Invoice#rate into hourly and daily.
Add lines to DSL.
Add converter; test by running Jekyll on a test directory.
Expand yaml output and test assertions.
Capture output from Jekyll and test for success.

Also tidies up test run output.
Add options to pass quantity and rate; calculate derived values.
Pull Line out into separate file.
Add fmt filter wrapping sprintf.
Add fmt option to introduce thousands separator characters.
Change daily_/hourly_rate into rate and unit.
Pass invoice to line, from which default rate and unit can be gleaned.
Values must not be symbols otherwise Liquid will be unhappy.
Fix Converter test for updated semantics.