Add a preserve-type-hints tree walking fn
Tighten scope of with-open
Move non-algorithmic fns to util ns
Let try-resolve coerce its parameter
Determine form "class" more accurately

https://groups.google.com/d/msg/clojure/vmU4M9CP1do/w4__9JBrYpUJ
Remove preserve-type-hints

Turns out this was unnecessary
Reorder return tuple of closeable-warnings
Refactor for legibility

* class-of -> get-class
* if-let -> or
* extract make-defn-error from inner reduce of lint-defn
Make closeable-warnings polymorphic and have it return a map, not a tuple
Update lein plugin
Use clojure.core/resolve instead of Class/forName
Actually support regular files in project-namespace-symbols