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.
Merge pull request #401 from dgtized/makefile-bytecompiles-all

Makefile byte compiles all the emacs lisp