Add internal assertion guard for some indirect calls (for now only create/new)

Modeled on the idea of a9da9b6a, this one blows up when a public proxy
is called insted of the equivalent public chan of methods

This particular set of changes to create() and new() is solely an
optimisation (unlike the next commit)
Standardize the Moo import block, move quote_sub/qsub into ::_Util

This way we will have less boilerplate in the next commit where we
will use quote_sub standalone