First set of commits
Changes:
- Fix & update dev setup
- Update dependencies
- Switch from the deprecated tslint to eslint
- Fix a bunch of errors, typos, etc., many of these reported by eslint
I split it up into many commits to make it easier to review. If you disagree with some change, I can just remove that commit.