Elixir compatibility fixes (supports 0.11.0 - 0.12.2)

Fix a bunch of examples/tests and change some others in preparation of coming changes. Elixir changes very fast. I'd like to avoid our users running into test suites that don't work because their Elixir is too old or new.

I've run these tests with 0.11.0 (released three months ago) and the current master version (a few commits after 0.12.2).

For future reference, to run all tests manually something like this works well: `for d in *; do cd $d; for f in *_test.exs; do echo $d; EXERCISM_TEST_EXAMPLES=1 elixir $f; done; cd ..; done`.