Fix incorrect syntax of defrecord test.
Rewrite of forward/backward token functionality.

The previous incarnation of this is quite slow and very hard to follow. In this commit
I am trying to see how concise I can make the forward- and backward-token functions.
Remove unused rules & warehoused code.

Also, broke up 80+ lines.
Remove logic to emit ';' after a hanging comma.
Remove unnecessary regexps.
Rearrange code a bit.
Make sure comments are handled correctly when pressing return.
Merge pull request #81 from elixir-lang/whitespace-indentation

Rewrite token emitting functions
Update CHANGELOG for v1.4.5.
Add failing test.
Remove unnecessary & incorrect SMIE rule.
Merge pull request #82 from elixir-lang/nested-modules

Remove broken SMIE rule.
Update CHANGELOG for v1.4.6.
Update elixir-mode--version.
Clean up unused code.
Add test for fontification of camelCase.
Fix fontification rules for method names.
Add tests for fontification of func names ending in punctuation.
Update syntax table to recognize '' as symbol constituent.
Use optional symbol.