Deprecate is_regex/1 and is_range/1

Conflicts:
	lib/elixir/lib/string.ex
Start app after changing System.argv on 'mix run'
Fix `String.slice error`

    iex(76)> String.slice("string", 0..-2)
    nil # you see here is the issue, it shouldn't return `nil`
    iex(77)> String.slice("string", 1..-2)
    "trin"
    iex(78)> String.slice("string", -5..-2)
    "trin"
Add test case for  bug
Guarantee HashDict.equal?/1 returns proper value when comparing subsets

Conflicts:
	lib/elixir/test/elixir/hash_dict_test.exs
Update Gen_FSM example to be more explicit, clear.

By using a locally registered process name, this example has caused some
initial confusion to new users of Elixir. Using explicit PIDs will more
closely align with other examples, and reduce the number of things one
must understand in order to understand this example.
Merge pull request #2090 from bitwalker/gen-fsm-docs

Update Gen_FSM example to be more explicit, clear.
Deprecate more functionality to be changed or removed in v0.13
Ensure an after clause is generated only if required
Update CHANGELOG.md
Remove support to MIX_GIT_FORCE_HTTPS environment option

This used to be useful in case the git port was blocked.
Merge pull request #2104 from rcillo/rd-remove-git-force-https-option

Remove support to MIX_GIT_FORCE_HTTPS environment option
Deprecate GenFSM

We plan to provide better abstractions around GenServer and GenEvent
in upcoming releases but we won't do so for GenFSM. There are other
interesting approaches out there, like `plain_fsm`, which are easier
to understand and use than OTP's FSM.
Properly clean spurious entries in waiting list
Release v0.12.5