Throw an error if we can't find a template...

Previously I was using the Component.lookupTemplate method to get templates. The
problem with this is I have no way of throwing an error if the template is not
found. Component.lookup returns a function no matter what, and that function
might return null. But what I need to know at lookup time is whether the
property is defined at all (e.g. Template['someTemplate'] != undefined).

cc @avital, dgreensp
Bump smart.json version.
Some simple tests for template lookup errors.
Add contentFor helper to Layout...

Usage:
  <template name="MyLayout">
    {{> yield}}
    {{> yield region="footer"}}
  </template>

  <template name="Child">
    Main content

    {{#contentFor region="footer"}}
      Put some footer content into the footer yield region
    {{/contentFor}}
  </template>
Update readme.
Embox the data value...

- So we can reuse the cached value of the data across multiple lookups.