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.
Add heredocs indentation test to DocTest
Make heredocs indentation test pass
Add mismatched indentation test to DocTest
Make mismatched indentation test pass
Add "too much" and "not enough" tests to DocTest
Remove unused variable from DocTest
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