Add checks for empty text nodes in OperationTests

Empty text nodes should never be left behind by an operation. Adding
these extra checks have caused some operations to fail.
Stop whitespace upgrade logic from creating empty text nodes
Merge pull request #430 from peitschie/empty-text-nodes

Reduce the number of places that create empty text nodes
Meet Bella. She will destroy your documents.
Register a fake cursor so user can safely interact with Bella
Allow multiple instances of Bella
Show Bella how to exercise the entire selection API
Teach Bella how to meow (and other text manipulation actions)
Try and make the average selection range smaller
Using a real SessionController causes problems with double-events
Teach Bella about undo & redo
Now Bella will also destroy your document formatting too!
Learn about cut, copy & paste
Give Bella some sugar
Discovered Bella is a tidy cat and likes valid documents

Ensure known bad conditions aren't encountered during modifications.
E.g., look for occurrences of empty spans (issue #37).