Valid Variant 2 GUIDs (with optional version setting)

This change will generate valid variant 2 (standard) GUIDs and will allow an implementer to specify which version to generate (1-5) if they have a specific need.

caveat: I wasn't sure about the level of validation/error handling to include so it is possible for someone to generate versions above 5, which are not valid. This is easily fixed if necessary