widget operations use NULL terminated strings, backend does not.
Refactor some selection code so all selection deletions trigger
undo events (except where they should not).
Summary: The patch for supporting copy,paste and cut undo
Test Plan:
1. elementary_test - Code Editor
2. Check that undo work correctly when copy,paste and cut
Reviewers: ajwillia.ms
Reviewed By: ajwillia.ms
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4636