Find source locations even when clojure doesn't report them.

Search on emacs side when locations are not reported by clojure (pretty much for all interactive evaluations). Currently the regexp searches for "(def.*"  and works as expected for most common top level declarations.  

For inner declarations (letfn) a more extensive patch would be needed because the stored var for function `ns/foo/fn` is `ns/foo` and I don't see how to get info for inner function with existing middleware. 

This patch addresses #631.
> Clojure errors have lines.

That's not correct - they have a `line` and a `column` which constitutes a pos in my book. `column` info was added in 1.5 and I guess this code predates it, since it doesn't make use of it.

I'm ok with using `line` + `column` or just `pos`, but mixing the two concepts is confusing. I realize it's easier this way, because you get a `pos` from the helper function, but converting this to a line + column would be trivial.