Validate node nesting structure

This is a better version of #644. Fixes #101.

Right now browserify picks up validateNodeStructure and nodeCanContainNode even though they're only required in `__DEV__`. Would be good to figure out how to avoid this. Here's the current size comparison:

```
   raw     gz Compared to master @ f877c6224fbf217d639a0ef2d7abf28c4cfbafa4
     =      = build/JSXTransformer.js
     =      = build/react-test.js
 +6633   +889 build/react-with-addons.js
  +942   +212 build/react-with-addons.min.js
 +6628   +909 build/react.js
  +937   +214 build/react.min.js
```