adding eslint, first shot at configuration and fixing first wave of errors

@iOiurson @vallettea 
This PR adds "eslint" a tool that looks at the JS code and looks for common mistakes.
Just run `npm run lint` and eslint will run and tell you about the mistakes. There are lots of rules (139). Not all apply to us. Let's discuss when you find a rule you disagree with or find unimportant.
I turned off a couple of rules I was finding unimportant.

In this PR I made the necessary changes to make eslint happy.