Build: Don't assume the browser environment; smoke test on Node w/ jsdom

Fixes gh-1950
I was thinking about it but I'm not convinced that's the best approach. In Core `grunt` is so far linting and building the project and that's it. Current smoke-testing is short but we'll be adding Promises/A+ compliance test (see https://github.com/jquery/jquery/commit/e1303a38197b36297ce6190ad318fc9e73876298) which is not quick so I doubt we want to auto-run it just when we want to build the files.

We can run Node smoke-testing in the default task as it's quick but putting it in the `test` task will IMO mean we'll need to refactor it again in the nearby future.

Thoughts? cc @markelog @dmethvin @timmywil