Supress 'Compiled' msg by default in elixirc

Adds a --verbose option to elixirc

This fixes #1618
Merge pull request #1643 from pminten/elixirc-silent

Add --verbose to elixirc
Splice nested binaries with default types and size
Handle more types on bitsyntax.
Fix failing doctest
Allow Macro.escape([1|2])

This fixes #1646
Merge pull request #1648 from pminten/quote-improper-lists

Allow Macro.escape([1|2])
Allow any function identifier as a variable, closes #1649
Remove empty Tuple module
Add Enum.slice/3
Merge pull request #1650 from ericmj/enum-slice

Add Enum.slice/3
Update CHANGELOG
Add a count guard check for slice
Revert "Merge pull request #1645 from vanstee/string-split-repeats"

This reverts commit fb30101632f8e1ee94bb770ff858791aa6cba6a3, reversing
changes made to c348eb7cc58459c3ff8f117c0e7a96384ad7734b.
Implement `Stream.flat_map/2`

Fixes #1642
Use ifnone in Enum.find for all collections
Merge pull request #1654 from ericmj/fix-enum-find

Use ifnone in Enum.find for all collections
Merge pull request #1652 from vanstee/stream-flat-map

Implement `Stream.flat_map/2`
Enum.slice returns nil when start is out of bounds
Accept the `trim` option when splitting strings

By default `trim` will be set to true. Because `:binary.strip` only
removes empty strings from the end of the result, we have to apply a
filter to remove empty strings from the beginning before returning.