Increment and decrement testing and bug fixes.

Implemented as the mother of all tests... this wraps the existing test
suite in a loop over a range of +/- {years, months, ...}. This also
switches the tests to use the 'spec' reporter to make it easier to spot
check.

As with all tests this revealed some issues with the parsing of dates.
Specifically, some initializations woudn't zero out the hours, minutes,
seconds, and milliseconds resulting in bad results with doing date
arithmatic.
Add istanbul test coverage.

You'd think with this many tests we'd have covered every line of code in
the parser... but you forget all those error codes we aren't exercising!
Garbage test cases to exercise those error codes.

This brings the coverage up from 60% to 77%. Now all that's left are
those 'time' derived 'spec_base's.