introduce Enum.reverse/3

Enum.reverse/3 reverse the given enum within first..last range.

Example usage would be:
```
iex(1)> Enum.reverse('abcdef', 0, 2)
'cbadef'
iex(2)> Enum.reverse([1, 2, 3, 4, 5], 1, 2)
[1, 3, 2, 4, 5]
iex(3)> Enum.reverse(1..5, 1, 2)           
[1, 3, 2, 4, 5]
```