wip tools.analyzer integration
add ast cache
Merge branch 'master' into tools-analyzer

Conflicts:
	src/test/clojure/clojure/core/typed/test/rbt.clj
tc-ignore uses ::tc-ignore in a `do` instead of wrapping.
analyze1 expands do forms before evaluating
Fix field munging and tools.analyzer key changes
Merge branch 'master' into tools-analyzer

Conflicts:
	project.clj
	src/main/clojure/clojure/core/typed/check.clj
	src/main/clojure/clojure/core/typed/utils.clj
Better preconditions for shared clj/cljs functions
Merge branch 'master' of /home/ambrose/Projects/core.typed-branches/../core.typed into tools-analyzer

Conflicts:
	src/main/clojure/clojure/core/typed/check.clj
Bump t.a.j version beta9
Use analyze+eval
Be explicit about forcing a seq
Workarounds for CLJ-979
Subtype test for expected type in `cast` is more accurate
don't reanalyze the same namespaces in tests
Merge branch 'master' of /home/ambrose/Projects/core.typed-branches/../core.typed into tools-analyzer
make analyze1 public
Propagate :env for line numbers, need latest tools.analyzer
move to t.a.j beta10
Merge branch 'tools-analyzer'