Refactor to use inverse data flow

Completely refactored Reactive PlanOut to use an inverse data flow,
where only TesterBox maintains state, and handles all validation /
talking to the server.

This also brings proper support for dynamic children and specifying the
complete accordion of tests using a JSON blob.
Improved title display

-A title, corresponding to 3 states:
 1. A “playground” (no assertions)
 2. A failing or passing assertion
 3. A passing assertion
Moving stuff around, added add button

-Moved stuff around
-Added button that allows users to add tests
start adding codemirror
Merge pull request #2 from eytan/adrien_suggestion

Refactor dataflow