Override with() exported from MXRP so it works inside a role {} block

This caused breakage if a role {} block called "with Foo" and loaded another
parameterized role. The role being loaded would end up using the metaclass set
in $CURRENT_METACLASS because that was in effect as the role was being loaded.

This broke with the recent changes that made MXRP a trait rather than
Moose::Meta::Role subclass. What happened is that the Moose::Exporter code
would try to get the current metaclass to apply the trait to and it would get
applied to the role currently being generated (the thing that called "with")
rather than the thing that used MXRP.

We can fix this by unsetting $CURRENT_METACLASS before calling with().

I'd note that this is all a bit insane. I'm pretty sure that we can fix this
by simply having Moose::Exporter get the $meta object from the call(s) to
->init_meta, since that method should always return the right $meta object!