Fix a missing conditional check error
Add tests for BaseBackend
update_composition() should save the argument as editing-string
Fix text expansion always return ""

Because can_expand() only has read-only access to expanded_string. It's
how Python's closure works.

ISSUE: https://github.com/lewtds/ibus-ringo/issues/32
BaseBackend.reset() should create a history entry
update/commit_composition() in base class
Comment formatting to fit PEP8
Use history with BaseBackend.process_key_event()
Use history with BaseBacekend.on_space_pressed()
Use history in SurroundingTextBackend.process_key_event
Dump SurroundingTextBackend.previous_string for history
Use history in BaseBackend.on_backspace_pressed() and undo_last_action()
Don't reset() in undo_last_action()

Since reset() creates a history entry, it will hide the entry created by
undo_last_action().
Update tests
commit_composition() now takes an argument
Minor refactoring
Only append a space after a real string correction
Comment
Don't append none history entry after undo backspace

The none entry was supposed to break an infinite loop where the next
backspace still hit the same if condition. The reset() has already
broken it.
More tests for BaseBackend