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
I can move it to another place if you guys have any ideas. Also, what do you think about the wording? Is it confusing?