Converted clojure-mode to a derived-mode

It is idiomatic to define major modes with the macro `define-derived-mode`, so I've converted `clojure-mode`'s definition to use it. I've also made `prog-mode` its parent mode (conditionally when available, since it was introduced in Emacs 24) so that `prog-mode-hook` is run automatically (as opposed to manually as is now). The change is a transparent one mostly to get clojure-mode in line with model Emacs Lisp development practices.