Adding assertions and markers to live editor

Summary:
This changes assertions so that they don't pop up an Oh Noes,
but instead display a gutter indicator which displays the message upon click.
The tricky part of this is getting the line # of the code that caused
the particular assertEqual.
The current strategy is to use TraceKit, which gets stack traces across browsers
and attempts to somewhat normalize them, and then I fetch the line number
of the first eval-like call from the stack, and subtract browser-dependent numbers of lines.
I had to modify TraceKit to get it working for evals in Chrome, however,
and I'm not sure if TraceKit is actively accepting PRs, their last activity was a year ago,
so we'd likely need to host our own fork.
I can alternatively override Error.prepareStackTrace in Chrome to get back
more structured info, just in Chrome (V8). Here's how that'd work:
https://gist.github.com/pamelafox/c49504d8a0337cbf2f72

Test Plan:
- Create a program with the following:
```var x = 4;

Program.assertEqual(x, 2);

Program.assertEqual(1, 5);
```
- Notice how you can get the tests to pass by changing the values.
- Mouse over the gutters to see assertion messages.
- Write assertEqual in a program, open in Safari, see message on line 0

Reviewers: alpert, brian

Reviewed By: brian

Subscribers: #cs

Differential Revision: http://phabricator.khanacademy.org/D12414