Make separate callback for handling lint warnings, with new info added to them

Add the following new keys to lint warning maps:

:absolute-file-name - A string containing the URI of the file
  containing the namespace.  It can also be of the form
  "jar:file:/Users/jafinger/.m2/repository/org/clojure/clojure/1.6.0/clojure-1.6.0.jar!/clojure/test/junit.clj"
  for a file inside of a JAR archive.

:relative-file-name - File name, as a string, relative to the current
  working directory, if it is inside the current working directory.
  If not, this is the same as the absolute file name.

:namespace-sym - A Clojure symbol that is the name of the namespace.

The values for these keys is identical for all warnings found while
linting the same namespace.

Note that the value of :file can be different than the file being
linted.  I am not sure yet of all of the cases where that can happen,
but I think one of them is when the warning is about some code defined
in a macro in a different file than where the macro is being used.