First pass at a guide to compiler plugins

@steveklabnik, are you interested in looking this over?
Would you be able to provide a minimal example of this? The correct combination of annotations to define a macro in a child module or library and then use it elsewhere is brutal to work out at the moment. Unless this is now documented more thoroughly elsewhere?