Using a custom version of the node typings is causing a lot of pain while trying to upgrade our build to use `@types` instead of the `d.ts` files we have to maintain. I believe we primarily maintain our own version for two reason:
- Custom require function
- setTimeout and other timer functions return NodeJs.timer instead of a number
These can both be delt with, the first by using interface augmentation and the second by switching to use any types for timer. I believe that the pain of maintaining our own node `d.ts` outweighs the benefits here
This change switches us to use the standard @types/node package for our node typings
We compile using the alwaysStrict flag so these directives are not needed
This part removes most `use strict` directives that are right after the file header