Split clean and elpaclean

clean just removes .elc files

elpaclean removes all the elpa/cask dependent files as well as
clean targets.
byte-compile all *.el into *.elc

During the elpa install locally there are a variety of byte compilation
warnings that are not caught during the existing build for cider because
it only compiles cider.el into cider.elc.
Add automagic dependency tracking for .elc files

$ touch cider-mode.el && make test
will only rebuild cider-mode.elc, cider-macroexpansion.elc, and
cider.elc before running make test.
Strip remainder of require line to avoid comments

If you don't match the remainder of the line it only transforms the
section that matches, so;

cider.el:
(require 'cider-foo) ;comment

Becomes the following line in .depends
cider.el: cider-foo.elc ; comment

When we want it to be
cider.el: cider-foo.elc
make test now provides load-path with -L .

Previously make test couldn't find it's dependencies but now it has
access to them by default including the current directory in the
load-path.
nrepl-current-clojure-buffer renamed to cider-

This was throwing unassigned variable warnings on building cider.el, but
it appears that it was simply renamed to cider-current-clojure-buffer.
declare nrepl-buffer-name-{separator,show-port} before use

These custom variables were declared after their use in nrepl-client,
this just moves them into dependency order.
cider-repl-mode depends on cider-turn-on-eldoc-mode
cider-eldoc.el depends on cider-symbol-at-point
cider-selector.el depends on cider-find-or-create-repl-buffer
Merge pull request #402 from dgtized/nrepl-current-clojure-buffer

nrepl-current-clojure-buffer renamed to cider-
Merge pull request #401 from dgtized/makefile-bytecompiles-all

Makefile byte compiles all the emacs lisp
Merge pull request #403 from dgtized/bytecompilation-warnings

Fix bytecompilation warnings for some undefined variables/functions