This commit:
* moves defined errors to a separate file;
* renames ErrEmptyToken to ErrNilToken;
* merges ErrZeroTTL and ErrIncorrectTTL into single ErrInvalidTTL.
After recent changes Raw field is presented in RequestMetaHeader.
There is a need to provide an interface of field getter/setter.
This commit:
* defines RawHeader interface of raw value container;
* embeds RawHeader into MetaHeader interface;
* implements Raw field setter on RequestMetaHeader.
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.