Allow recursive request.defaults

See #890
This PR includes the 

* Docs
* Tests
* Code

Please let me know if you want me to change anything or add any more tests.