Order Elixir.flex

Order methods, tokens, and lexical rules alphabetically to make
maintenance easier.
Interpolating Double Quoted Heredoc Sigil

Sigil started with lower case letter using `"""` heredoc syntax for
sigil string.
Literal Double Quoted Heredoc Sigil
Sigil lexing
Make ElixirFlexLexer public for testing

JFlex defaults to the generated lexer being package-local, but that
complicates using nested packages as contexts for test, so use `%public`
to make the class and its constructors public.
Test all (non-bad) characters in YYINITIAL
Test all (non-bad) characters in BODY
Test all (non-bad) characters for INTERPOLATION
Order states in Elixir.flex

Make it easier to maintain code.
GROUP tests
GROUP_HEREDOC_LINE_BODY tests

Add tests for all (non-bad) characters handled by
GROUP_HEREDOC_LINE_BODY.  These tests caught a bug where
GROUP_HEREDOC_LINE_START, which is prior state for
GROUP_HEREDOC_LINE_BODY, did not handle EOL, which means completely
blank lines (with no spaces) could not be handled in
GROUP_HEREDOC_LINE_START.
GROUP_HEREDOC_LINE_START test
Test GROUP_HEREDOC_START_TEST
NAMED_SIGIL tests
Test SIGIL
Optimize test imports
Optimize src imports
Add test for CharList sigil
GROUP test and test optimization
Extract superclass from SigilTest