Fix #6347: Make movement by word jump to word-boundaries

This restores all movement- and deletion-by-word to jump to word boundaries instead of whitespace, as noted in #6347 and https://github.com/JuliaLang/julia/commit/e27771df954f44551eba06fdc7d1a9f6e4f12ab8#commitcomment-5847965.  I've preserved the delete-to-whitespace behavior in `^w` as `edit_werase`.

I've also changed the `char_move_right/_left` methods to return the character they step over. This ended up simplifying some of the more complicated by-word logic.

I initially used the old non-word-char list from e27771df954f44551eba06fdc7d1a9f6e4f12ab8, ~~but I think `isspace(c) || ispunct(c)` will be more consistent for unicode users.~~