Scope :target-path by profile unless it's the default (:base).

Anyone using a %s pattern in their custom :target-path will get this
behaviour, but strings that don't have it will continue to behave as
normal.

Fixes #468.
Make profile-scope-target-path work with anonymous profiles.

Also make it work in scenarios where the project map lacks :target-path.
Merge found :deploy-repositories entry with :repositories entry in deploy.

Fixes #765.
Merge :uberjar profile when uberjarring.

Fixes #1170.
Merge default profiles in checkout-deps project reading.

Fixes #1180, but in a way that's probably too clever.

Makes it possible to recursively descend into checkout dependencies
with the following addition to the `:user` profile:

`:checkout-deps-shares [#=(resolve leiningen.core.classpath/checkout-deps-paths)]`
Merge branch 'master' into testsUnderWindows1
moving 2 functions from utils to helper
merged all commits to date which required adding "dev-resources" so a
test wouldn't fail
`bin\lein test` tested under windows (currently 2 failures and 1 error)