Prevent deletion of files when invalid output-path is provided

Being a newbie in the node-land, i tried to provide an environment variable as output-path to the build command as `ember build --output-path=$SOME_PATH`. But this deleted my entire app files. 

Later came to know that it's not possible (i believe) to pass env variables as command-line arguments. The env variables are safely ignored in process.argv

On further digging, the project root is assigned as output path if the empty o/p paths are provided ([from here](https://github.com/npm/nopt/blob/4296f7aba7847c198fea2da594f9e1bec02817ec/lib/nopt.js#L136)). And the builder tries to empty the entries in the outputPath [here](https://github.com/stefanpenner/ember-cli/blob/master/lib/models/builder.js#L46-L57) before bundling up again unfortunately costing me to lose my entire app files



I agree with @stefanpenner.  We should check against a list of allowed values.

I would much prefer this logic be inside the `builder` model as that is where the removal of the files/dirs is actually done.  Adding the check there will also not require modification of the commands at all (since throwing a `SilentError`  would reject the promise and print a nice warning).  This would also protect us (or addons) from adding  more ways to invoke a `builder.build` that do not perform this check.

I would add a new function (perhaps named `canDeleteOutputPath`) and call it from [here](https://github.com/stefanpenner/ember-cli/blob/master/lib/models/builder.js#L47).