Spin out HACKING.md from CONTRIBUTING.md

Create a bunch of guidelines/FAQs based on stuff gleaned from
PR discussions and IRC.  Obviously this is just a starting
point.
Merge pull request #2390 from rolandwalker/hacking_doc

Spin out HACKING.md from CONTRIBUTING.md