Code of Conduct, mk II

Changes from the original:

* does not include contribution policy and governance documents
* explicitly defines the scope of the Node.js Project
* explicitly defines harrassment
* explicitly defines consequences
* adds grievance policy
* introduces notion of specific points of contact for abuse reports; still need a list of actual names to go into the policy
* adds credit and link to the npm, Inc. Code of Conduct
* incorporates community feedback

Please limit discussion on this issue to the Code of Conduct itself:
  * ambiguous or confusing wording
  * typos
  * contradictions
  * scope of the document

Discussion of the necessity or relevance of a Code of Conduct for the Node.js Project is irrelevant to this PR, and should be conducted elsewhere.
>The breadth of the community is defined in the "scope" section

I'm not sure it actually is. A "community is defined as follows" statement somewhere would be helpful.

>I think that it's appropriate that community members have some sort of channels to seek recourse 
>against that harassment

This goes way further than that-- it's a channel for *anyone* to seek recourse from "harassment" **or** from being made to "feel uncomfortable" by a community member.

> In fact one of the primary values, in my mind, for having a Code of Conduct, is handling minor conflicts (through discussion and mediation) before they have a chance to escalate to major ones.

Suppose a developer expressed a strong opinion that made me uncomfortable on a controversial social topic privately or in a non-Node.js-affiliated forum. Given this CoC, I am *encouraged* to contact the Abuse Team about that. Should it really be Node.js's responsibility to mediate all minor conflicts involving one community member?