Support company-mode

Continued from https://github.com/clojure-emacs/ac-nrepl/issues/30.

So far the only bug I'm aware of is in `cider-company-location`: if `cider-jump-to-def` fails with namespace error, the handler just prints the error message with `message`, and the former function returns the current buffer. Should `nrepl-make-response-handler` use `error` in these situations?

Also note that it works differently from what @steckerhalter did in `company-cider`: instead of showing the output of `clojure.repl/source`, it actually opens the file where a given function is defined.