Validate NPM dependencies before build/serve/test

This PR addresses the infamous NPM dependency issue mentioned in several places, including [here](https://github.com/stefanpenner/ember-cli/issues/253) and again recently [here](https://github.com/stefanpenner/ember-cli/issues/2192).

The changes involve introducing a new task, `NpmValidate`, to the existing `Build`, `Serve`, and `Test` commands. If a dependency is listed in `package.json` but is not installed or the version installed is incorrect, ember-cli halts the builds with an error message.

I haven't done the Bower side of things (it can be a separate PR), but I wanted to get some feedback on the approach before going all the way.

Thanks!