Don't modify arguments in syncer

Definitely not good practice to modify arguments directly. Better to clone them before interacting with them.
Update tests to reflect cloned options
Oops, forgot to remove one argument in the test.
Don't need to change argument name.
add test for getBootstrappedData
add ability to clear cached layouts
add test for passing through the error object
add test for the layout template cache
Merge remote-tracking branch 'airbnb/master'
Merge branch 'master' of https://github.com/s-cradle/rendr
Update examples to underscore@~1.5.2

To match rendr's dependency on underscore@1.5.2.
Merge pull request #314 from airbnb/update-underscore-in-examples

Update examples to underscore@~1.5.2
Bump version to 0.5.0-rc2

Also update rendr-handlebars to version 0.2.0-rc2
Update HISTORY.md
Merge pull request #311 from lusini/improve-viewEngine-tests-2

Improve view engine tests
Merge pull request #309 from jeromegn/patch-2

Don't modify arguments in syncer
add tests for RestAdapter

squashed commits:
* make request module injectable
* add test for RestAdapter
* test for passing through the error object
* test error-handling for invalid json responses
* remove unreachable OR branch
* improve test for isJSONResponse
* json property should not be set for different content types
* fix typo
Merge pull request #308 from lusini/add-tests-for-restAdapter

Add tests for rest adapter
Merge pull request #313 from airbnb/version-0.5.0-rc2

Bump version to 0.5.0-rc2
use Error instead of Exception

Exception doesn’t exist in javascript.