Add support for promises
encode output of url helper when using expands-tokens=true

The following should produce the same output:

```handlebars
The url is: {{url "articles" slug}}
The url is: {{url "articles/{{slug}}" expand-tokens=true}}
```

however, the output, respectively is:

```
The url is: #articles/hello%20world%2C%20sup! // correct
The url is: #articles/hello world, sup! // INCORRECT, not url encoded
```

I’ve written a failing test case (and a passing one for the first
example). However, the two use very different code paths. The first uses
javascripts built in `encodeURIComponent` method while the second uses
`Thorax.Util.expandToken`, which seems to be much more general purpose

I do not mind digging in if the fix is not immediately obvious, i put
comments in the tests pointing to the relevant code paths

/cc @eastridge
Add support for input event
Merge pull request #291 from walmartlabs/input

Add support for input event
Move _lastPromise to fetchQueue._promise
Only test promises when available
encodeURIComponent in expandTokens
Add a Bitdeli badge to README
Merge pull request #292 from bitdeli-chef/master

Add a Bitdeli Badge to README
Define Thorax.{run,bind} section APIs
Use bindSection for event handlers
Use bindSection for loading callbacks
Add runSection to render loop
Update error handling docs
Note unused API parameter
Failover url to empty string

Fixes NPE when pushState is enabled and undefined is passed as the url.
Save off collection reference
Simplify conditional
Update build task to remove source maps (for components repo only)
Release notes