Ensures Enum.slice always returns a list.

Both Enum.slice/3 and Enum.slice/2 now will return empty lists for
impossible or out of bound ranges, rather than `nil`.

Fixes #2410.
Reformat unordered lists in all docstrings

List items are marked with a star (*). Bullets marking list elements
must have a 2-space indent. The continuation lines should be indented
by 2 more spaces.

The second and subsequent paragraphs need to be indented 4 spaces
from the beginning of the line to be included in the list item.

The code fragments have to be indented 8 spaces from the beginning
of the line (or 4 spaces from the beginning of the preceding paragraph).

Sublists are marked with a hyphen (-). They follow the rules above
with the difference that their initial indent will be greater
(8 spaces from the beginning of the line).
Add normalize dispatch for Windows volume letters
Improved match and guard
Add missing backticks
fix typo in docstring of Enum.at and Enum.slice
Merge pull request #2418 from jw2013/master

fix typo in docstring of String.at and String.slice
Merge pull request #2414 from christhekeele/empty-range-slice

Ensures Enum.slice always returns a list.
Merge pull request #2416 from chyndman/win-volume-path-normalize

Add normalize dispatch for Windows volume letters
Make `URI.encode*` to work only with binaries
Merge pull request #2419 from lexmag/uri-binaries

Make `URI.encode*` to work only with binaries
Do not match files starting with . in Path.wildcard/2 by default
Remove deprecated on_exit callbacks
Update CHANGELOG
Deprecate previously soft deprecated conversion functions
Improve task log based on @fishcakez feedback
Fix map printing to indent 2 levels, closes #2165
Apply uniform capitalization and punctuation rules to all lists

  * Never use capital letters after `-`. Sentences start right after
    the bullet and continue to the first period.

  * When list elements are one or two sentences, use non-capitalized
    format without terminators.

    The two sentences are converted into one, separated by a semicolon.
    This mainly applies to the cases with short sentences or when only
    one of many list elements needs to have two sentences.

    Example:

        * `:opt_a` - basic description, no terminator
        * `:opt_b` - also short description; this used to be second
          sentence

  * When at least one list element needs to have real sentences, 
    the whole list is formatted like that, with a period at the end
    of each element:

        * `:opt_a` - this is still short.

        * `:opt_b` or `:opt_c` - but this is longer. May have multiple 
          sentences.

          Or even paragraphs.
Fix ordered list formatting

The rules are similar to those for the unordered lists (see previous
commits). Subsequent lines and paragraphs should be aligned to the
beginning of the sentence on the first line, like this:

  1. This is a list item,
     it has a second line.

     Also paragraph.

  2. Second list item.

         code fragment

Short, one-sentence items that can be read as part of the surrounding
paragraph can start with a non-capital letter
Merge pull request #2415 from alco/list-format

Reformat unordered lists in all docstrings