Diviner has a largely-unused concept of "context" in order to handle namespaced code. This builds upon that to clean up some queries and rendering:
- Contexts are displayed for classes, interfaces, and functions
- Contexts are normalized during storage (replacing \ with :) so that URI routing works
- URIs always include context in order to avoid some ambiguous routing
- Sorting is a bit more logical
Ref T2284