Refresh imenu index before calling which-function

Otherwise old index is used. The reproducer is:

1. run single test
2. rename the test
3. run single test again

Result: test with old name is run.
Remove a couple of useless settings from clojure-mode.

In derived modes the keymap, the syntax table and the abbrev table are
set automatically, based on the major-mode's name. (interactive) is also
added automatically.
Extracted the inferior-lisp-program command into a defcustom.

For various reasons it's better to keep the command configurable (i.e. the lein
binary might be named lein2 for instance).
Unify the style of keybindings in clojure-mode-map.

These days it's preferable to use `kbd` for keybindings. And
it's always preferable to use a consistent style when defining them.
Improve a bit the handling and display of clojure-mode-version.

`clojure-mode-version` is better off being a variable and it's nice
to have an interactive function to display it. Most modes add a reference
to a function such as `clojure-mode-display-version` in their menus.
Make configurable the behavior of jump-to-test/impl

This is achieved by making the functions clojure-test-for and
clojure-test-implementation-for return the full path of the test or
src file. Next clojure-jump-to-test and
clojure-test-jump-to-implementation simply calls these functions
through a defvar to get the path. That var can be changed by users who
want a different implementation.

The existing behavior of where test files are create was left
unchanged.
Remove all symbolic links when finding expected ns

 - symlinks are removed from the project-dir
 - they need also be removed from the buffer-file-name
Update for latest nrepl
Add new test result inspection methods

clojure-test-ediff-result (bound to C-c C-') and clojure-test-pprint-result
(bound to C-c M-')
On error, print-cause-trace instead of pprint

This allows the full cause trace to be viewed with clojure-test-pprint-result.
Merge pull request #128 from bbatsov/derived-mode

Remove a couple of useless settings from clojure-mode.
Merge pull request #138 from hugoduncan/feature/update-for-multi-repl

Update for latest nrepl
Remove clojurescript-mode.el. Closes #118.
Bump nrepl.el dependency (to unreleased version)
Merge pull request #124 from iNecas/which-function-refresh

Running single test after test-rename doesn't work as expected
Merge pull request #129 from bbatsov/inf-lisp

Extracted the inferior-lisp-program command into a defcustom.
Merge pull request #130 from bbatsov/version

Improve a bit the handling and display of clojure-mode-version.
Merge pull request #131 from bbatsov/clean-keymap

Unify the style of keybindings in clojure-mode-map.
Merge pull request #133 from leathekd/configurable-jump-to-test-or-impl

Make configurable the behavior of jump-to-test/impl
Merge pull request #136 from magnars/expected-ns-bugfix

Bugfix: Resolve all symbolic links when finding expected ns