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
Yeah, I'm definitely doing that! :) I meant the general workflow explanation: "Look at that file, now look at this file, now there's this package, now there's that thing."