* Replace TSLint with ESLint + Prettier
TSLint is deprecated, and ESLint is now officially supported by
TypeScript.
Additionally, Prettier is the industry standard for auto-formatting
JS/TS code. That lets code reviews be about content rather than style.
The `.eslintrc.js` file contains comments for the reasoning behind every
configuration, so feel free to take a look at that as well.
* Run src/ through Prettier
* Add Mocha support for ESLint
We do not actually lint Mocha files right now because they aren't in TS,
but moving forward, this will give us better linting rules for our tests