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

Fixes gh-1950
@markelog 
> Do we really need to add new task to default task? Those tests are for jsdom compliance, do we really need every time we want to build it?

They're rather fast, though (500 ms on my machine) and they prevent us from accidentally commiting code breaking compat with Node. We do run linters on each `grunt` run for example.

On the other hand, the jsHint setup when changed like in this PR will catch most Node incompatibilities so maybe it's not so important to check it all the time.

I'll go by the following solution:
```
npm run build # does npm install && grunt
npm test # does grunt test
grunt testswarm:sthsthsth
```
I'll land this now without running Node smoke tests on `grunt`; we can revisit later. I want this on `master` ASAP, though so that we're covered agains past mistakes from now on.