RFC: Macro reform

[Rendered view](https://github.com/kmcallister/rfcs/blob/macro-reform/text/0000-macro-reform.md)
I added it to the RFC because @paulstansifer expressed concern that macro-defining macros couldn't use `pub` and `extern` in the same way as the built-in `macro`.  It seems like a good fix for that problem and also makes several other things nicer.

I don't want to defer all syntax cleanups to post-1.0, because then we're making everyone rewrite their macros once for the semantic changes and again to have less ugly code.