Add ESLint support

/CC @giakki

I have some notes in the second patch's .eslintrc; eventually I'd like those enabled.

For the time being, we need to figure out how to make ESLint pass. Feel free to make any suggestions about the options and push here, but please don't merge until we are ready :)