Refactored semver-bump to support usage as library

The logic of reading, writing and bumping of versions now lives in a seperate package. This will enable semver-bump to be used inside other go projects and will close #7.
Is there a reason for this to be a pointer?