[WIP] Unify controller and integration tests

This pull request is for the following project: https://github.com/rails/gsoc2014/wiki/Ideas#unify-controller-and-integration-tests
We should keep `QUERY_STRING` and `PATH_INFO` as part of the request. However, I still have not found a way to recycle the `@request` properly since Integration test does not allow the directly manipulation to the request.