This change refactors a handful of components to make them reusable across pageview and session tracking endpoints. Resolves https://github.com/mjpitz/pages/issues/2