Anything can become a `namespace`
Any object should be able to become a namespace, simply by decorating itself as a namespace or calling Namespace.New
Certain types of objects will work very effectively as namespaces, and should be treated differently by the ScriptProperties of Namespace
For the most efficient example, a [Regex] can be treated as a dynamic namespace (since all a namespace is doing is matching a pattern to various types of objects).
Anything with a .FilePattern or .CommandPattern will be treated as a namespace of that pattern (and thus any module's existing command types can become namespaces)
A [uri] has several implicit namespaces, but for the sake of sanity we will consider everything until the last segment and query string the [uri]'s namespace
This will be implemented in #1135.