firstNWords method now also requires a maximum character limit
parameter, which prevents returning an incredibly long string when one
of the first N words has no whitespace in it