Change imported macros to use leaky modules rather than leaky functions.
Hoist macro defs out of inner function
Remove space from the middle of path
Adds (more) test cases for auto_encode.
Macros now leave scope

Macro scope is now delimited by function, block, and module boundaries,
except for modules that are marked with #[macro_escape], which allows
macros to escape.