Better word separation

Words joined by carriage returns (\n), as well as words that are
separated by punctuation (.,!;:) are now separated properly.

This also appropriately handles American style punctuation (e.g. it
separates 'He said "Hello, there!"' as ['He', 'said', '"Hello,' 'there!"'])