Extract Class Version.

There's enough logic, particularly with the Herrera\Version wrapping,
around handling the version number, that it makes sense to pull it out
in a separate class in order to separate concerns.