allows for 0 _ttl's without time signifier and enables tests

This commit allows you to specify '0' for a _ttl param without having to specify the time signifier. It then validates the _ttl params within the manifest.

Also adds support for spec testing and tests these cases.