Checking if a version string is valid

This takes a string and checks if it's compliant to the Semantic Version Specification 2.0.0.

The pattern matching works with any kind of string, so char, wchar and dchar strings can be tested.

The function uses a [regular expression](http://goo.gl/8mg75m) to match the string, which makes it easy to structure the string into groups. As the draft of the struct indicates, this can be used to create objects holding the data that can be passed around. Extensions on this will follow.