Set isInTransaction to false even if close throws

If a transaction wrapper's closer throws (such as flushBatchedUpdates in ReactDefaultBatchingStrategy) then we still want to properly deinitialize the transaction by setting isInTransaction to false. Without this, we can't reuse the transaction object (in this case, all future batched updates would fail because nested transactions aren't allowed).
Disable source maps when defineProperty is missing

Fixes #1053.
Add warnings when accessing properties/methods on unmounted components

This creates a membrane around the React component prototype. It warns if you
try to access properties on the component before it's unmounted. Before it's
mounted, it should be considered a descriptor and not an actual instance.

The workaround, for unknown types, is to access the constructor using
component.type which has static methods on it.
Merge pull request #1055 from spicyj/jsx-transformer-ie8

Disable source maps when defineProperty is missing
Merge pull request #1021 from spicyj/close-finally

Set isInTransaction to false even if close throws