function Version(major, minor, micro, special)
{
    this.major = major;
    this.minor = minor;
    this.micro = micro;
    this.special = special;
}
@class Version
Defines a version number with major, minor, micro, and special
components. The major, minor and micro values are numeric; the special
value can be any string.

@param major   The major version component, a positive integer up to nine digits long.
@param minor   The minor version component, a positive integer up to nine digits long.
@param micro   The micro version component, a positive integer up to nine digits long.
@param special The special version component, an arbitrary string.

@return A new \c Version object.