Show "None" when components have no dependencies

Test Plan: Made docs; checked that components with empty dependency list had a
"None" tag, and those with dependencies still had them listed.

Auditors: joel
Merge pull request #15 from zgotsch/master

Add TimeoutTransitionGroup component
Merge pull request #16 from zgotsch/master

Actually add example :o
s/span/div

Auditors: jack

Test plan: none
Fix DragTarget `component` prop type

Summary: Previously due to a bug in React, component types were counted as component descriptors by this prop check; now they're not and this check fails. There's no type for a React component class, but component types are all functions so let's use that instead.

Test Plan: Crossed fingers.

Reviewers: joel

Reviewed By: joel

Subscribers: jessie

Differential Revision: http://phabricator.khanacademy.org/D11466
Added multi-button-group and moved button-group widgets to use `content`

Summary:
MultiButtonGroup allows you to select multiple buttons in your button group.
I've added an example to the documentation that also demonstrates how the button
content field can be arbitrary JSX, not just text. Because MultiButtonGroup and ButtonGroup
use common styles, I also added a styles.js file that can be used to add and require common
styles. I think this choice will be subject to some change, but it's a starting point.

Test Plan: Tested extensively in Perseus for various use cases.

Reviewers: joel

Reviewed By: joel

Differential Revision: http://phabricator.khanacademy.org/D10987
Explicitly add 'type="button"' to button-group components

Summary: Some browsers assume 'type="submit"', which can cause funky behavior and generally
isn't what you want with a button-group like this.

Test Plan:
- Run docs; everything looks fine and button-groups work as before.
- Also tested in Perseus, where the button-groups for the Grapher were causing the question to unintentionally submit.

Auditors: joel
lint

Auditors: joel

Test Plan: #yolo
Add extension to require.

The extensionless syntax doesn't work with KAdefine.

Auditors: jack
Future-proofing for coming React/JSX changes

Test Plan: Tested most Perseus widgets.

Reviewers: joel, aria

Reviewed By: joel, aria

Subscribers: jessie

Differential Revision: http://phabricator.khanacademy.org/D12798
Fix stupids from my D12798

- Bump react-tools version numbers to get spread transform
- Include Object.assign polyfill in tests
- Don't switch to .key first; it doesn't actually work in React 0.11.1 (oops)

Test Plan: npm test

Auditors: aria
Actually add polyfill file and don't ignore test/

Test Plan: Crossed fingers.

Auditors: aria
Add to react-components.com.

Auditors: aria
Test plan: none
Add State-from-Store mixin.

Auditors: zach
Test plan: spot check the docs
Add a modal to react-components.

Basically a copy of the bootstrap version, but this one does less stuff.

Auditors: aria
Fix broken blur-input and drag-target demos.

Also upgrade react.

I'm not exactly sure where this polyfill is supposed to come from :/

Test plan: spot check that the two demos work on the built docs.

Auditors: alpert
TeX: Add onClick support for perseus

Summary:
I'm unifying the tex.jsx in perseus and react-components
(and eventually moving all requires over to the latter).

We use onClick on TeX elements in mobile for math inputs.

Test Plan:
\#yolo

Auditors: joel
Upgrade to React 0.12 (RC)

Test Plan: Open test page, get no warnings except `$_` which should be changed eventually to use https://github.com/spicyj/jsx-i18n.

Reviewers: aria, joel

Reviewed By: joel

Differential Revision: http://phabricator.khanacademy.org/D13960
Add back jstransform dependency

Oops -- missed that prepublish.js uses it when searching.

Test Plan: Crossed fingers.
Fix i18n tests

We need to use something like https://github.com/spicyj/jsx-i18n to make this not compile into a React.createElement call, but we're just testing the logic here so I'm not going to use JSX.

Test Plan: npm test

Auditors: joel