move dependency and repository merging into meta-merge

This is accomplished with the :reduce metadata, which specifies the
reduce function to use when merging. This allows us to merge
dependencies and repositories deeply like other structures. Note that
dependencies are transformed into a map before they are merged and then
transformed back into a vector.

Also change the way that collections are merged. They used to be merged
by taking the right collection and prepending it to the left collection.
This behavior was needed for :*-paths in defproject, but it is not an
obvious default. Now, the default is to append the right collection, but
the :prepend metadata can be used to tell meta-merge to prepend instead.
By default, :source-paths, :resource-paths and :test-paths have :prepend
set to true.
switch with-profile to last-wins

This patch switches with-profile so that the last profile specified
wins. This is more in line with the way clojure.core/merge works.

For more info, see:
http://librelist.com/browser/leiningen/2012/9/12/changing-with-profile-from-first-wins-to-last-wins/#ff32b118546fa95d0960f2247e190c18
Merge pull request #810 from technomancy/last-wins

change with-profile from first-wins to last-wins
New documentation guide: mixed Clojure/Java projects
There's nothing wrong with re-using :source-paths for java.
Mention other languages in mixed-projects.
Add mixed projects to lein help static content.
Alias `lein help project.clj` to `lein help sample`.
Un-deprecate :auth profile since full-disk encryption is a good use case for it.
Move checkout deps documentation to the tutorial, expand it with examples, change wording
A typo
The name of the directory is irrelevant in checkouts.
New README section: documentation
Add sample.project.clj to the docs section
add :repl-options :init into headless startup
Fixed problem with building a project when .git is a file

Submodules cloned with git version >1.7.8 use a file for .git that
references a directory in the superproject's .git directory. Added
support for parsing the gitfile.
Merge pull request #817 from wlabelle/git-file-fix

Fixed problem with building a project when .git is a file
Merge pull request #818 from kingtim/repl-init

add :repl-options :init into headless startup
doc/tut: various minor updates

Some wording tweaks at the top, formatting and addition to the list of things lein does.
changed to keep preferred tag-line