Update model pane

This guy adds several panes to the model sidebar ("model", "changed", "_previousAttributes") and takes a lot of gunk out of the properties pane. 

![](http://f.cl.ly/items/020P1A0j1U2Z0Q1F390d/Image%202014-11-21%20at%2010.42.48%20AM.png)

We also clean up after ourselves a bit here and simplify the way we get information about objects. We do this by introducing a new helper called `inspectObject` that does three things:
+ returns the value as JSON
+ serializes it
+ and inspects it
+ checks if the object is empty

e.g.
`inspectObject({a: 2, b: function() {2+2});`
```js
{
  value: {a: 2, b: function() {2+2},
  inspect: "{a: 2, b: function() { ... }}",
  serialize: [
     {
        type: 'number',
        value: '2',
        cid: undefined,
        key: 'a'
     },
    {
        type: 'function',
        value: 'function() { ... }',
        cid: undefined,
        key: 'b'
     },
  ],
  isEmpty: false
}
```
good call that should change.

also we can get better at formatting, given we have types and all of the source panel css. it doesn't have to be undefined. it could be string or int or whatever. we have to look at the extension/css/source-sidebar.css file