Expose VariableProvider field names for /v cmd line argument

Uses reflection in order to obtain public static field names, building up `ArgumentParser.VersionParts`.

This enables the user to obtain a specific version format when passing the `VersionPart` ( array of lower case `VariableProvider` field names) with the `/v` argument.

Prior, one could pass `/v nuget` in order to obtain a version name that is compatible with nuget versioning.