Add .gitattributes

- Normalize line-endings to LF when checked into the repository. Doesn't
touch the working copy.

http://git-scm.com/docs/gitattributes#_end-of-line_conversion

- Language-aware diffs.

http://urbanautomaton.com/blog/2011/07/28/git-grep-and-language-specific-diffs/

- Run 3-way file level merge for project files, but take lines from both
versions, instead of leaving conflict markers. This tends to leave the
added lines in the resulting file in random order and the user should
verify the result.

http://git-scm.com/docs/gitattributes#_performing_a_three-way_merge