Introduce new operators intended for use by parser combinator libraries.

The expected definitions (which are by no means required) in
parser combinator speak are:

* `p  ~>> f`   =  `bind(p, f)`
* `p1 ~>  p2`  =  `pair_right(p1, p2)`
* `p1 <~  p2`  =  `pair_left(p1, p2)`
* `p1 <~> p2`  =  `pair_both(p1, p2)`
* `p  |~> f`   =  `map(p, f)`
* `1p <|> p2`  =  `either(p1, p2)`
Fetch Hex with wget or curl

This way we can use https and do peer verification without bundling
certificates with elixir.
Add file exists check on windows when installing archive
Merge pull request #2756 from elixir-lang/emj-archive-shell

Fetch Hex with wget or curl
Bump Hex requirement
Raise if status code != 0 and use non-verbose modes
Return the proper exit code from powershell
Merge pull request #2702 from alexrp/master

Introduce new operators intended for use by parser combinator libraries.
Revert "Merge pull request #2702 from alexrp/master"

<~ is already a valid expression in Elixir.

This reverts commit 2c741ec6ae8e587322f2148cf2a3c99555bdee57, reversing
changes made to 12a457829feadfe5d4431963753749cb089a3676.
Add free operators

<<~, ~>>, <~, ~>, <~>, <|>
Release v1.0.0-rc2
Start v1.0.0
Remove deprecated code
Properly document Task.Supervisor options
Fix typos in Stream.transform/3 docs
Merge pull request #2759 from mikepack/transform-doc-fix

Fix typos in Stream.transform/3 docs
Remove support for inner swap_handler
Add integer guards around Enum.fetch/2
Add Logger.enable/1 and Logger.disable/1
Update CHANGELOG