Separate tests code from package code

I permitted myself to propose this to you.

This removes the tests from the emacs package.
Thus reducing the breaking risk I encountered - https://github.com/snosov1/org-toc/issues/2.

Also, added a Makefile to hide the command's complexity (and use it inside the `.travis.yml` to avoid duplication).

Tests are still ok.
```sh
$ make test
emacs -batch -l ert -l *.el -f ert-run-tests-batch-and-exit
Running 3 tests (2014-11-01 11:25:06+0100)
passed  1/3  org-toc-test-flush-subheadings
passed  2/3  org-toc-test-hrefify-gh
passed  3/3  org-toc-test-hrefify-toc

Ran 3 tests, 3 results as expected (2014-11-01 11:25:06+0100)
```

Also, now I have no more problem when I load the eval code after installation (<kbd>M-x package-install-from-buffer</kbd>):

```
(eval-after-load "org-toc-autoloads"
  '(progn
     (if (require 'org-toc nil t)
         (add-hook 'org-mode-hook 'org-toc-enable)
       (warn "org-toc not found"))))
```
works like a charm :D 

Cheers,