Add Cask and ert-runner. Tests refactoring.

Hi!

This commit adds support for [Cask](https://github.com/cask/cask) and changes some test related stuff.

## Cask and ert-runner

[Cask](https://github.com/cask/cask) is a project management tool for Emacs Lisp to automate the package development cycle.

### Installation

```bash
$ curl -fsSL https://raw.githubusercontent.com/cask/cask/master/go | python
$ cat >> ~/.bashrc
export PATH=~/.cask/bin/:$PATH
```

### Examples of usage

```bash
$ cd path/to/emacs-elixir
$ cask install # install ert-runner
$ EMACS=`evm bin emacs-24.3-bin` cask install # install ert-runner for Emacs 24.3
$ cask exec ert-runner # run tests
$ cask exec ert-runner -t 24-3 # run tests with 24-3 tag
$ EMACS=`evm bin emacs-24.3-bin` cask exec ert-runner -t 24-3 # run tests with 24-3 tag for Emacs 24.3
$ EMACS=`evm bin emacs-24.3-bin` cask exec ert-runner -t 24-3 --verbose # run it with elixir-smie-verbose-p=t
$ cask exec ert-runner --win # run tests with GUI window
```

## Some other changes

- `run_tests` script was removed.
- All the tests have been redefined with `elixir-deftest`.
- `elixir-mode-run-tests` was removed.
So I don't think `&define` is a valid keyword here. I know you didn't add it, but I'm [hacking](https://gist.github.com/mattdeboard/6a6d68a824a2e8ac5648#file-ert-runner-el-L18-L21) on `ert-runner.el` to see about falling back to an interactive test session.

When I run `ert-runner` (after adding `(setq ert-runner-exit t)` in `test-runner.el`), I get the following error:

```shell
matt@matt-x230:/opt/emacs-elixir$ cask exec ert-runner --verbose
Running tests on Emacs 24.4.50.2
Warning: Unknown macro property &define in elixir-deftest
Wrong type argument: stringp, nil
```

I've looked around for this and from what I can tell this param is only accepted in [Edebug specifications](http://www.gnu.org/software/emacs/manual/html_node/elisp/Specification-Examples.html). `cl-defmacro` only takes `&rest`, `&optional`, and `&key`. I'm not sure the genesis of this macro definition but I don't think it's right.

Again, I know this isn't part of your code necessarily (except the refactor) but I think a bug is being masked here. No action expected on your part, this is a note to my future self (or other contribs).