New enum "InternetProtocol" for supported IP protocols replaces scheme

The enum provides a home for parsing, stringification and the default
value of the supported protocols.

It also enforces the use of the more correct term "internet protocol"
instead of "scheme".