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.