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