- Converted the queryhandlers to represent their true nature (a specific query), I've placed the query result objects within their corrosponding IQuery. Maybe we want to move them out or not.

- I've pulled the caching logic from CacheQueryHandler, there is a bug where the Key would be the same for different queries. need to find out how best to get a unique reference for queries (maybe serialize the query object).

- there is a bug with the RedirectRoute because it doesn't pass the querystring or the initial slash i.e.  "/pages.aspx?page=about-us" will be passed as "pages.aspx"
- renamed queries