Make Librarian::Manifest Semver 2.0.0 compatible

## Problem Summary
Semver prerelease versions cannot be parsed by Gem::Version and causes
and exception at runtime when parsing the manifest of modules that include it (See #83).

I asked PuppetlLabs what the version scheme is on the Forge. 
They said it was currently Semver 1.0.0 but they are moving to 2.0.0 soon.
It looks like puppetlabs/ntp and some others have these versions already and it is causing problems.

Implemented according to the Semver 2.0.0 spec (http://semver.org/spec/v2.0.0.html)

## Changes

- Added Semver 2.0.0 support to Librarian::Manifest::Version
- Relaxed Semver constraints to support 2-number versions (ie: 1.0)
- Added specs to test conditions mentioned in semver spec