This commit:
* moves defined errors to a separate file;
* renames ErrEmptyToken to ErrNilToken;
* merges ErrZeroTTL and ErrIncorrectTTL into single ErrInvalidTTL.
After recent changes Token field is presented in RequestVerificationHeader.
There is a need to provide an interface of field getter/setter.
This commit:
* defines TokenHeader interface of token value container;
* implements Token field setter on RequestVerificationHeader.
proto.Clone couldn't makes copy for custom fields.
We should reset and restore MetaHeader before/after Sign/Verify.
Add test coverage to check that all works like expected.