Improve long message splitting and add tests

* If a long message doesn't have line breaks, try to split on word breaks
* Unit tests for various splitting cases

Follow up to #107