make String.duplicate return empty string for n of 0

When passed 0 for n, return an empty string from String.duplicate.
:binary.copy already supports this, so no changes needed outside
adjusting the guard clause.
Add test for String.duplicate with n of 0
Merge pull request #1341 from jarsen/string-duplicate

Return empty string when given 0 for n in String.duplicate