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
Merge pull request #1593 from vanstee/string-justification-functions

Implement string justification functions