Update hacker guide: add more info, fix broken links.

This pretty much ports things from https://github.com/scala/scala/pull/3830 to relevant sections of the hacker guide. It also fixes some broken links.

/cc @xeno-by @heathermiller @retronym @adriaanm @som-snytt @paulp
Get rid of: "If that explanation does not sound very clear," and just have; "[Here's](https://github.com/folone/scala/commit/59536ea833ca16c985339727baed5d70e577b0fe) an example of adding a macro."