Add profile metadata

This is a first shot at implementing the profile annotation @technomancy
suggested in #leiningen as a replacement for the proposed :downstream
profile.

Adds :leaky and :pom-scope metadata for profiles.  The :dev, :test,
:base and :provided profiles are implemented in terms of these.

Profiles with :leaky metadata affect the pom and jar creation.

Profiles with a :pom-scope metadata of :test or :provided also affect the
dependencies of a pom.

NB: It changes the ordering in the pom task, which I would argue is a
fix rather than a breaking change, as it now uses the order used within
other lein tasks.