Emit warning when user profile is in project files

This implements issue #890.
It warns if a :user profile is found in either project.clj or
a profiles.clj in the project directory.
Treat :user in profile.clj as project map when outside of project. Fixes #931.

By treating the `:user` profile in `profile.clj` as the project map when one's
outside of a project, the default repositories among with any mentioned
repositories within the `:user` profile will be fetched without any issues. Also
works fine when `profile.clj` doesn't contain any `:user` profile or no
`profile.clj` exists.
Merge pull request #932 from mgrubb/warn-on-user-in-project

Emit warning when user profile is in project files
NEWS for RC2.
Bump REPLy & nREPL for Calendar print & regex read
Add newlines at end of template files
Add bin/lein-pkg to the list of files that get version substitutions.

Currently lein-pkg is forgotten about, which means it is always pointing to
the 2.0.0-SNAPSHOT version. This means packagers much edit this file
themselves.
Merge pull request #935 from brandonbloom/newlines-at-eof

Add newlines at end of template files
Merge pull request #936 from metajack/fix-release-for-lein-pkg

Add bin/lein-pkg to the list of files that get version substitutions.
Bump REPLy for parsing things like "\ "
Add pom.xml.asc and .lein-repl-history to lein new gitignores.
Clarify wording of checkout dependencies in tutorial.
Gracefully stop reading input in sub-process. Fixes #934.

This commit handles three major bugs with the current way of redirecting input
from Leiningen to a sub-process:

- The redirection is never stopped. This means that typing on the keyboard after
  a sub-process has finished will crash the thread redirecting data from *in* to
  the sub-process' input stream, as it is closed.

- The redirection is buffered. This means that data intended to a subsequent
  sub-process may be sent to this sub-process instead.

- The redirection blocks instead of busy waits. For the output streams, this is
  perfectly fine and the recommended approach to avoid wasting cycles. However,
  this has some issues when done to an input stream: If the sub-process finishes
  while the thread block waiting for a character, we will be unable to stop the
  thread before a character has been read. The consequence is that a character
  originally intended to the subsequent sub-process will be given to the
  previous process.

These issues are solved by reading one byte at a time, busy wait on data and
gracefully exit when the sub-process has ended (through a mutable
variable/atom).
Merge pull request #937 from hyPiRion/gracefully-stop-reading-input-in-sub-process

Gracefully stop reading input in sub-process. Fixes #934.
Doc rewording for checkout deps.
Add a faq entry about implicit repl deps.
Accept :main in addition to -m in run task.
Allow implicit repl profiles to be overridden with namespaced names.
Remove some unnecessary regular expressions from the templates util ns.

Also:

* Add tests for string-munging fns
* Correct doc for name-to-path
Bump REPLy version to handle bad input

fixes #940