Faster getNs for elements
1. Improve navigation to namespaces (ensure that we navigate to the declaration, not in-ns forms)
2. Cache namespace elements per file in sorted structure
3. Slightly improve alias lookup (only parse quoted forms in require, not :require)
1. Make ClSymbol implement Named, allowing (name sym) and (namespace sym)
2. Re-work symbol resolution to separate by scope
Separate clojure.core specific implementations from resolution infrastructure
Add type interrogation methods to PSI API, and replace old usages in project
Fix completion after resolve fixes