check that store path exists and is directory

Not using the Types::Path::Tiny "Dir" type because it produces a poor
error message for end-users (it'd be fine if it were developers).

It's a lot better to check early, so in everything, make sure we create
the right directory before we build a Store.

Fixes #124
move test yaml error document to a directory

This allows us to check more errors using other directories.
trap date/time parsing exceptions

Time::Piece apparently had a feature addition in 5.14 that allows it to
do strptime() a bit more flexibly. This fixes 5.10 and 5.12.