First pass at a guide to compiler plugins

@steveklabnik, are you interested in looking this over?
The more general `SyntaxExtension` case is mentioned at the end of the section.  Syntax extension authors will need to become familiar with the `libsyntax` docs anyway, so I don't think we need to describe every possibility here.