Add VersionNotFoundError
Minor refactoring
Improve specs
Fail if version does not exist;

Up until now it was possible to initialize a new
version with a arbitrary number.
Add #version?
Extend docs