Ignore Leiningen REPL history

If you open an REPL within your project with `lein repl`, your REPL history gets saved in .lein-repl-history. This file does not need to be committed to a repository
Dart.gitignore updated to reflect instructions provided by authors
.classpath and .project files are *meant to be versioned*

As is clearly stated in the [eclipse documentation](http://wiki.eclipse.org/FAQ_How_do_I_set_up_a_Java_project_to_share_in_a_repository%3F).  
This gitignore has lead to much confusion in SO - please ammend

I would guess the same is true for .pydevproject and .cproject but can't
be sure/do not have any references on those

Also .launch configurations are generally meant to be versioned when
saved under project location. See for instance :
http://stackoverflow.com/a/337317/281545
Python.gitignore add coverage.xml
Ignore elf and hex in C.gitignore
Make Python .gitignore directory entries match only directories.

This commit also alphabetizes the distribution/packaging section after
separating the directory entries from the file entries.  I left alone
a few entries that I'm not sure about (i.e. *.egg and the
"Mr Developer" section).
Merge pull request #509 from cjerdonek/master

Make Python .gitignore directory entries match only directories
Merge with latest master from upstream. Fix merge conflict with Leiningen.gitignore
Merge pull request #623 from seabre/patch-1

Ignore Leiningen REPL history
Merge pull request #805 from Utumno/patch-1

.classpath and .project files are *meant to be versioned*
Merge pull request #814 from xiaogaozi/patch-1

Python.gitignore add coverage.xml
Merge pull request #705 from caiquerodrigues/patch-1

Dart.gitignore updated to reflect instructions provided by authors
Merge pull request #802 from lukemetz/master

Ignore elf and hex files in C.gitignore
remove `npm-debug.log` entry
Merge pull request #830 from kerimdzhanov/fix/node-gitignore

remove `npm-debug.log` entry