Add basic Elixir support

Copies and tweaks existing Ruby support to give decent first
approximation of elixir syntax support.  Very minimal changes, there
will inevitably need to be more.  Have placed a request for a more
representative code sample, but for now it highlights my example
perfectly as far as I can see.
Clean up elixir keywords a bit, add more features

Adds support for:

- defrecord
- alias
- use
- fn

Also made Elixir test output include more of these usages to catch bugs.
Finally, reduced ruby keyword count from elixir keywords to help with
some scoring boundary issues that would likely have come up otherwise
(they were scoring the blocks of ruby an elixir as only one point
different with the previous commit - now they are more substantial)
Add classref, fix Description, move example

- Move the example near erlang
- add the language to classref.txt
- remove chmod on tools/build.py
- Add doctest to Elixir example code
Merge branch 'feature/add_elixir_support' of github.com:knewter/highlight.js into elixir
Merge branch 'master' into elixir

Conflicts:
	classref.txt
Updated Elixir to current definition syntax (variants and beginKeywords).
Using variants for Elixir regexps.
Using plain string for Elixir keywords.
Redefine Elixir functions to end on `do` and contain general language after the title.
Redefing Elixir "classes" in the same manner as functions.
Wrap "begin" derived from "beginKeywords" in `\b` instead of doing it only for terminators. If "begin" doesn't have it testRe doesn't see it and can recognize a shorter "begin" (e.g. `beginKeywords: 'def'` passes testRe when `beginKeywords: 'defmodule'` is found by terminators).
Added Josh Adams (@knewter) to AUTHORS.