gh-935

**not ready for merge**

Right now this takes care of generating the right output format - consuming it is another matter
> we expect ractive.template to be an array of item templates

But can change that and have initialise use `ractive.template.t`?

> since no-one ever needs to access ractive.template - we should rethink how 'setup' data like that should be stored, so we don't face these ambiguities

We've slowly been introducing more of this very "live" model for ractive. The following doesn't totally work (because templates aren't lazy loaded, so it's not reparsed), but you can do:

```js
var r = new Ractive({
    el: document.body,
    template: 'hello',
    data: {  foo: 'bar' }
})

r.template = '<p>world</p>'
r.reset( { foo: 'fizz' } )
```
I think this will become more relevant once we allow attaching to existing dom structures, or reattaching, detaching, etc, etc, And is certainly relevant for our design-time changes discussion.

The issue we have is that there's no connect between setting new values and when to use them, other than reset methods. Something to noodle on for next release...