Implement semantic versioning, fixes #7