Return an empty string from slice with valid index

To keep in line with ruby semantics of
[`String#slice`](http://ruby-doc.org/core-2.0/String.html#method-i-slice)
slice should return an empty string instead of nil when the starting
index is valid even if the length is 0.

Fixes #1591
Implement rjust and ljust string functions

To provide string justification, the following functions were
implemented:

  * `String.rjust/2`
  * `String.rjust/3`
  * `String.ljust/2`
  * `String.ljust/3`
Include documentation for justification functions
Do not truncate strings when justifying
Only accept a single character as padding
Add example to Enum.take docs using negative count.
Merge pull request #1596 from chrismccord/improve_enum_take_docs

Add example to Enum.take docs using negative count.
Merge pull request #1593 from vanstee/string-justification-functions

Implement string justification functions
Update CHANGELOG
Review and deprecate list <-> binary conversion
Quote arguments on elixir/iex help check
Improve docs for iolist_to_binary
Add Path.relative_to_cwd and rely on it when generating stacktraces
Clean up and expose are more complete API in Exception
Handle unsafe vars inside or/and
Add missing helpers file
do_justify should be private
Merge pull request #1600 from devinus/defp-justify

do_justify should be private