Supporting custom template extension

Fix missing escape
Add program metadata

Include program id and depth on the generated wrapper objects. This
allows helpers who are passed these objects to differentiate between
helpers for cases where they may want to cache the generated DOM
structure.
Add contexts for string mode hash values

Allows for evaluating hash parameters such as ../city in string mode.
Merge branch 'master' of github.com:matteoagosti/handlebars.js into matteoagosti-master

Conflicts:
	bin/handlebars
Escape passed regex
Allow compilation of empty string

Fixes #461
Restore knownHelpersOnly throw

Fixes #302
Merge branch 'program-metadata'
Rebuild
Remove FULL_CONTEXT from spec_helper
Allow multiple partial and helper registration

Fixes #369
Merge pull request #454 from leshill/fix_string_mode_contexts

Add contexts for string mode hash values
If building AMD modules, and only one template is being compiled,
return the compiled template from the AMD module
If building AMD module and compiling multiple templates, return the full
templates (or partials) hash from the AMD module
Added a component.json file for Twitter's Bower package manager.

See [https://github.com/twitter/bower#defining-a-package](Defining a
package) for more information about how the file was generated.
Merge pull request #488 from tnwinc/amd-module-return-values

Amd module return values
Change download link in install instructions

The install instructions in the readme were still pointing to the GitHub downloads page, which is deprecated and out of date.

Updated to point to the official site, which has a big download button.
Merge pull request #492 from iangreenleaf/patch-1

Change download link in install instructions
paragraph width
Changed component.json to bower.json per Bower 0.9.0 update.