Preserve metadata on profiles from profiles.clj

Preserve any metadata on profile maps specified in project.clj files.
Add profiles-with-matching-meta

Function to return a sequence of profile keywords for all project
profiles with metadata matching a predicate.
Allow multiple repl task profiles

The :repl profile does not compose well when specified in both
project.clj and profiles.clj files.

Merge all profiles with ^:repl metadata in the repl task.  This allows
multiple profiles to be applied for the repl task.
Merge pull request #1704 from hugoduncan/feature/add-task-profile-meta

Allow multiple repl task profiles