Better contributing guidelines

I’m proposing that we articulate the contributing guidelines for this project better, with the aim of making the maintaining of this repository easier in the long term. By making some changes along the lines this PR proposes, I’m hoping that future pull requests will be easier to review, and that the large number of currently open pull requests can be more easily worked through once we have a more solid set of criteria for accepting changes to the project.

In essence, the main change here is just requesting that all pull requests are accompanied by:

- Links to the projects, apps, tools, languages, or frameworks the change applies to.
- Links to supporting documentation about the ignored files, or a good description of how they relate to everything else if no documentation is available.
- Description (even if a short one) for why the change should be made.

I guess what I’m hoping this cuts down on is pull requests which have only vague titles and no description/comments, or don’t provide the necessary additional information to aid maintainers (who may lack direct experience with the applicable language/framework/tool/project) in making decisions about how to proceed. I believe that the volume of these kind of pull requests is what has contributed most to the recent lack of maintenance of this project—I’m not suggesting these things for the sake of being difficult, it’s out of :heart: and a desire to see this project take a turn for the better. 

[View the rendered README at this branch](https://github.com/cobyism/gitignore/blob/rework-contributing-guides/README.md).

Thoughts?

/cc @niik @jspahrsummers @aroben @haacked @izuzak Since I believe you’ve all expressed interest (in various ways) in helping maintain this repository.