Added support for mustaches beginning with @

Because the handlebars parser treats mustaches beginning with @ differently (see @data variables: http://handlebarsjs.com/reference.html), they do not have the ```string``` attribute assigned to them from the ast generated from handlebars. In order to allow other frameworks to support having their own @data variables, modify hydration_opcode.js to accept either ```string``` or ```idName``` as the mustache identifier.

tl;dr:
 - Mustaches beginning with @ dont have the string attribute defined in the handlebars ast.
 - If a mustache does not have the string attribute present in hydration_opcode.js, use idName instead.
 - Added missing semicolon for element cache in templates.