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.
> Should the Abuse Team really be responsible for policing all private interactions involving any "community member?" Is "community member" defined somewhere?

The breadth of the community is defined in the "scope" section, and if there is harassment that occurs within the bounds of a forum, chat system, or source control system that is connected to the project, I think that it's appropriate that community members have some sort of channels to seek recourse against that harassment. I should note that this language originally was added by @mikeal, and if he has further thoughts on the matter, he's welcome to share them.

> Why is the phrase "or made uncomfortable" here?

Because one of the primary purposes of this document is to foster a welcoming, friendly community, and as such we want to encourage people to reach out if they're feeling uncomfortable. Not every issue is going to result in some kind of punitive action (in fact, any kind of enforcement at all should be relatively infrequent), and 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.