Fix pom with non-default :default profile

Unmerge expanded its profiles based on the profiles in the project
map (which don't include :default), rather than profiles in the
:profiles metadata.

The :default keys were also hard coded in the pom generation, so ignored
any additions.

This is in support of https://github.com/lynaghk/cljx/pull/48
Add a :project profile

The :project profile is not un-merged when building a jar or generating
a pom, so can be used to alter the basic layout of a project.

This allows plugins such as cljx and cljsbuild to provide profiles that
the project can choose to use to set source-paths, etc, leading to less
error-prone configuration in common use cases.

Fixes #1665
Apply profiles from middleware in main

When loading the project, ensure that profiles contributed by middleware
are correctly applied.
Fix with-profile test
Fix pom for case with added profiles
Add simple test for :project profile in pom
Allow profiles to be loaded out of plugins.

Still needs testing.

Fixes #1672.
Restore previous order of dependencies in pom
Add :project profile to PROFILES.md
Expand builtin profile docs in README
Document in-plugin profiles.
Fix loading profiles from plugins.

This does it too late in the process for plugin profiles to be
referenced from :default, but it's a start.
Merge remote-tracking branch 'hugoduncan/feature/add-project-profile' into profiles-from-plugins
Rename :project profile to :downstream.
Make leiningen.core.project/read init the project.

Add a raw-read alternative that reads without initializing.

This solves a certain chicken/egg problem with wanting to read profiles
from plugins before the plugins had been loaded.
Improve docs for default profiles.
Revert "Apply profiles from middleware in main"

This reverts commit fe1be7d2dcc36d11532554f437aaa3b6e2349c5e.

Conflicts:
	leiningen-core/src/leiningen/core/main.clj
	leiningen-core/src/leiningen/core/project.clj
Fix a test.
Merge remote-tracking branch 'hugoduncan/fix-unmerge-with-meta-profiles' into profiles-from-plugins

Conflicts:
	src/leiningen/pom.clj
Move :auto-clean to jar task.

Fixes #1642.