Bring in all the things that are needed from test_suite branch

@eschoppik @tlicata @aikalima Alright, here it is. 

I've nuked the `test_suite` branch, since it is the solution branch. It's basically branched off your solution branch. 

You might want to delete solution on your end too, depending on how you want to assign it.

Let me know what y'all think.

`npm install` first, obviously.
`grunt watch` to run the test suite while making changes. 
@eschoppik @tlicata @aikalima I had hard-coded my username here, I think we can pass in non-hardcoded value via `process.env` or something like that. Let's chat tomorrow morning about this, and the whole thing in general.