uri: take ProtocolHint in account in format()
uri: take ProtocolHint in account in format()

20e8d7b3 unintentionally dropped ProtocolHint support in format().
ProtocolHint is meant to improve format() output when no scheme was
provided in the original uri. This commit addresses this issue.

20e8d7b3 intentionally dropped "active defaulting" in the URI class,
meaning that if no URI scheme was provided in the original URI and if
the scheme couldn't be guessed by ProtocolHint then no scheme will be
present in format()'s output. However this breaks quite a few things
in the old LRC. This commit reintroduces active defaulting to
URI::SchemeType::RING.

Also, finish to cleanup strip() scheme detection.

Change-Id: Ibc9decfb9d9f72d070302702de46d376eecf5c48
Gitlab: #390
Reviewed-by: Sebastien Blin <f62e5ae00f242ff12e734dcacd29cad110ca59cf@savoirfairelinux.com>

savoirfairelinux/ring-lrc,savoirfairelinux/ring-lrc,savoirfairelinux/ring-lrc,savoirfairelinux/ring-lrc,savoirfairelinux/ring-lrc