Add support for umbrella projects in mix

Fixes #667
Fix tasks may run multiple times

Store each task as a {task, application} pair once run. This fixes
that a task run for a sub project in umbrella projects wasn't
properly registered as run.
Don't use the full stack for umbrella test
Optimize Mix.Shell.output_app?
Merge pull request #1016 from ericmj/mixumbrella

Add support for umbrella projects in mix