Emacs cleanup

I cleaned up the emacs mode a bit and fixed all warnings during byte-compilation. I also added a custom group and variables for the `racer` command path and the rust source path.

I dropped the `(require 'cl)` since we can use `cl-case` [like `company`](https://github.com/company-mode/company-mode/blob/master/company-elisp.el#L198) which is [provided by `cl-macs.el`](http://www.gnu.org/software/emacs/manual/html_mono/cl.html).

I added `(require 'company)` since it's needed for the byte-compiler to know that `company-manual-begin` and `company-complete-common` are available at runtime. However, we could check for `company` instead with `featurep` and only call those if it's actually installed by the user.