Better error messages

It's possible to make broccoli / ember-cli fail with rejection values that aren't exceptions. A simple way to demonstrate this is to create a fresh ember-cli app and put a broken symlink in `public`. The resulting output looks like this:

````
$ ember build
version: 0.0.46
Build failed.
undefined
````

````
$ ember serve
version: 0.0.46
Livereload server on port 35729
Serving on http://0.0.0.0:4200
undefined
undefined
````

After this patch, you get the following instead:

````
$ ember build
version: 0.0.46-master-615fd3506d
Build failed.
Error: ENOENT, stat '/Users/edward/hacking/pristine-cli/tmp/tree_merger-tmp_dest_dir-7plRaOF5.tmp/badlink'
````

````
$ ember serve
version: 0.0.46-master-615fd3506d
Livereload server on port 35729
Serving on http://0.0.0.0:4200
Error: ENOENT, stat '/Users/edward/hacking/pristine-cli/tmp/tree_merger-tmp_dest_dir-zfvW7cri.tmp/badlink'
````

Which still isn't awesome, but at least gives you a useful clue about what's breaking your build.