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.

I plan to have this working with any kind of string, but at the moment it is restricted to strings = immutable char[]. wchar and dchar will follow in a different pull request.

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.