[SECURITY CVE-2014-0014] Ensure {{group}} helper escapes properly.

This vulnerability has been assigned the CVE identifier CVE-2014-0014.

In general, Ember.js escapes or strips any user-supplied content before
inserting it in strings that will be sent to innerHTML.  However, we
have identified a vulnerability that could lead to unescaped content being
inserted into the innerHTML string without being sanitized.

When using the `{{group}}` helper, user supplied content in the template
was not being sanitized. Though the vulnerability exists in Ember.js proper,
it is only exposed via the use of an experimental plugin.

In applications that use the `{{group}}` helper, a specially-crafted
payload could execute arbitrary JavaScript in the context of the current
domain ("XSS").

This vulnerability was reported to us by Edward Faulkner of CleriCare.
Many thanks for working with us on the patches and advisory.
[SECURITY CVE-2014-0013] Ensure primitive value contexts are escaped.

This vulnerability has been assigned the CVE identifier CVE-2014-0013.

In general, Ember.js escapes or strips any user-supplied content before
inserting it in strings that will be sent to innerHTML.  However, we have
identified a vulnerability that could lead to unescaped content being inserted
into the innerHTML string without being sanitized.

When a primitive value is used as the Handlebars context, that value is not
properly escaped.  An example of this would be using the `{{each}}` helper to
iterate over an array of user-supplied strings and using `{{this}}` inside the
block to display each string.

In applications that contain templates whose context is a primitive value and
use the `{{this}}` keyword to display that value, a specially-crafted payload
could execute arbitrary JavaScript in the context of the current domain
("XSS").

This vulnerability was discovered by Robert Jackson of DockYard. Many
thanks for working with us on the patches and advisory.
Refactor sanitization into reusable function.
Update CHANGELOG.