[FEATURE query-params-new] Hopefully final iteration

- default value'd QPs no longer show up in URL
- default value's type is used to determine how
 deserialized QPs are cast into controller prop values
- added queryParams Route config hash with properties
 `replace` and `refreshModel` to configure changed
 QP property behavior
- better code organization

/w @raytiley's help

Updating examples from the QP guide

- [Search queries](http://emberjs.jsbin.com/ucanam/4059)
- [Sort: client-side, no refiring of model hook](http://emberjs.jsbin.com/ucanam/2937)
- [Sort: server-side, refire model hook](http://emberjs.jsbin.com/ucanam/4073)
- [Pagination + Sorting](http://emberjs.jsbin.com/ucanam/4075)
- [Boolean values](http://emberjs.jsbin.com/ucanam/4076/edit)
- [Global query params on app route](http://emberjs.jsbin.com/ucanam/4077/edit)
- [Opt-in to full transition via refreshModel:true](http://emberjs.jsbin.com/ucanam/4079/edit)
- [opt into replaceState via replace:true](http://emberjs.jsbin.com/ucanam/4080/edit)
- [w/ {{partial}} helper for easy tabbing](http://emberjs.jsbin.com/ucanam/4081)
- [link-to with no route name, only QP change](http://emberjs.jsbin.com/ucanam/4082#/about?showThing=true)
- [Complex: serializing textarea content into URL (and subexpressions))](http://emberjs.jsbin.com/ucanam/4083/edit)
- [Arrays](http://emberjs.jsbin.com/ucanam/4084)
- [Map to different URL key with colon syntax](http://emberjs.jsbin.com/ucanam/4090/edit)