Refactor can_undo() and improve gibberish_split()'s docstring.
Refactor separate()
Move separate() and gibberish_split() to utils.
Refactor `factor` -> `parameter` in bogo.py
Refactor transform()

Rewrite the accent reapplication part in functional style.
ignore build intermediates
Make all non-alphabetic, non-input method keys word separators

- Deprecate gibberish_split()
- refactor is_character() -> is_processable_key(), new semantic.
Better docstring for utils.append_comps()
Turn comment to docstring in utils.append_comps()
Apply POLA: create a default config in bogo.py
Moving things around quite a bit

- `mv engine/bogo bogo`
- `mv engine ibus_engine`
- `rm AUTHORS`  # DRY
- Move documentation to `doc`
- Move uninstall target to `cmake`
- Remove GSettings.cmake (deprecated)
Fix building ibus_engine
Fix module importing paths
Remove files committed by mistake.
Fix travis build, forgot to include paths in tests
Merge pull request #64 from lewtds/refactor
Implement basic charset conversion infrastructure.
Change the way to generate encoding_map
Integrate charset conversion into ibus_engine.
Modularize/generalize charmap-based codecs.