Use the context package and reorganize packages.

* Use Google's context package for request-state information.
* Reorganize packages to flatten structure and make more sense.