Rename test_specs
Add truthy/falsy file assertion utils
Correct error message
Rename file_exists to exists
Fix loopy existence check

Sometimes two wrongs do make a right I guess. But better to have two
rights.
Generation goes through backend; use states

We might as well account for asynchronous generation in our
CachedFileBackend.
Add abstract cachefile backend for illustration
Add __nonzero__ method that will work for async
Store state when force-generated
Convert to boolean
Add tests for cachefile truthiness
Add existence check timeout
Remove actions module
Add async cachefile backend
Also defer existance check