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'm ok with it being here. The wording though is what I commented on – it's a bit confusing. So, everything I wrote above is in the form: [your original wording] -> [my new suggested wording]. So, just for clarity's sake, I recommend updating to the new suggested wording :)