Document macro expansion

This PR adds documentation for the macro expansion stage of the Numba compiler:

- A section on the macro expansion stage in the Numba Architecture document is added.
- Docstrings are added to `numba.macro`.

I also noticed whilst working on this that the IR dump is not clear about which dumps are macro expanded, and also that the pre-macro-expansion dump is not produced even if `NUMBA_DUMP_IR=1` - this is now changed to indicate which dump is macro-expanded, and to dump both the original and expanded IR when `NUMBA_DUMP_IR=1`.