Rename two API methods

Version.lessThanOrEqualsTo()    => Version.lessThanOrEqualTo()
Version.greaterThanOrEqualsTo() => Version.greaterThanOrEqualTo()
Rename 'artifactId' and change 'name'
Update JUnit dependency to 4.11
Implement a Parser instead of RegExp

This commit also updates the code to comply with the SemVer 2.0.0.
Create MetadataVersion.NULL object, refactor