Use git's plumbing to lookup HEAD
Fallback to original behaviour on IOException
Always return full SHA1 hash of HEAD
Fallback to the original behaviour on any error invoking git plumbing
Empty :*-paths when running outside a project dir.

Fixes #1253.
Merge pull request #1243 from richo/features/git_plumbing

Use git's plumbing to lookup HEAD
Remove cruft remaining from older lein versions.
Always add concrete filespec files. Fixes #1242.
Exit if trampoline file is empty. Fixes #1254.

A consequence of this fix is that travis-ci will complain on errors and
fails again, and I expect this build to fail due to that very reason.
Default to recursive checkout deps.

Fixes #1190.