Load constructors dynamically

This patch serie delay loading of [URI::file](https://metacpan.org/pod/URI::file), [URI::FromHash](https://metacpan.org/pod/URI::FromHash), and [URI::data](https://metacpan.org/pod/URI::data) to when they are effectively needed.
For example a program that only uses `http://` URIs will startup a bit faster and use less memory as it will not have to compile any of those modules.

Note that merging this will positively affect all Dist::Zilla builds that use [`[GithubMeta]`](https://metacpan.org/pod/Dist::Zilla::Plugin::GithubMeta), such as [`[@Milla]`](/miyagawa/Dist-Milla/issues/24).

Cc: @miyagawa, @bingos