Normalize code style

I went through the code and normalized some code style inconsistencies, primarily:

1. `Var === undefined` wherever possible, it's shorter and looks like any other comparison (`typeof Var === 'undefined'` sure doesn't), any misuse of `undefined` during development should be immediately apparent as we rely on `strict` in every file (and it would be a major bug regardless, if we can crash earlier = great).

2. As far as I'm aware, the recommendation for Javascript is to use `===` unless you explicitly want to use `==`. I don't see any reason not to follow it.

3. We rely on `{key: undefined}` a bit internally as an optimization and it's reasonable to expect others to do the same. Unless we explicitly intend to use `in`, I'm pretty sure what we meant was `!== undefined` (for edge-cases). So lets use `!== undefined`.

Feel free to object to some or all of it.

```
   raw     gz Compared to master @ 4b392f19a88b099f25f99978a40851c9b5aa0b50
     =      = build/JSXTransformer.js
     =      = build/react-test.js
   -58    -50 build/react-with-addons.js
   -65    -17 build/react-with-addons.min.js
   -59    -47 build/react.js
   -65    -11 build/react.min.js
```