Fix ChatPaginator.wordWrap(String, int) output and add unit tests. Fixes BUKKIT-5408

There were previously two issues with wordWrap:

First issue
-----------

wordWrap did not work as expected under the following conditions, as per
lines 95 to 99:

`lineLength` - `line.length()` - `word.length()` == 0

This would immediately append `word` to `line` without a space between
them.

Second issue
------------

ChatColors were not previously accounted for when checking for
exceptionally long words at the beginning of the line (see line 91)