make sure data is non-primitive at init

@martypdx Better than an error message for #1208?

I had a change that added a check and better error message for when data is a primitive, but I figured it was a little more friendly to fix the problem at init in the same way that falsey data is. This still won't handle the case that the ractive.data gets set to a primitive after init. Though I'm of the opinion that if you mess with ractive.data directly after init, you should probably expect zalgo to sally forth.