Create URI::GlobalID scheme

Addresses https://github.com/rails/globalid/issues/6
I added the `build` class method. Although as you can see in `URI::Generic` the main difference between `new` and `build` is the former creates an instance from 'generic' components without arguments check and the latter creates an instance from 'generic' components with arguments check.

Since `new` is called when creating a `URI::GlobalID` from `URI.parse()` for our specific case we need to check the arguments as long as the value for `arg_check` is not explicitly `false`.

Let me know if you think we should implement a different behaviour.