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".
Merge pull request #76 from albers/protocol-enum

New enum "InternetProtocol" for supported IP protocols replaces "scheme"