Fix typo in the filtering for chinese mode 3 (All characters with traditional Chinese first)
Don’t try to call filter_candidates() if it is not necessary
Put exact matches always at the top of the candidate list

Change the filtering in Chinese mode 2 (All characters with simplified
Chinese first) and Chinese mode 3 (All characters with traditional
Chinese first) to keep that property of the candidate list.  I.e.
keep the exact matches on top and the completion matches below and do
the Chinese filtering for mode 2 and 3 separately for the exact
matches and the completion matches.

Sees also https://bugzilla.redhat.com/show_bug.cgi?id=1050753#c2

Bo-Yin Yang> 1. Any character which has that precise key sequence as
Bo-Yin Yang> the encoding must be listed ahead of any other
Bo-Yin Yang> character. That is, if 同 and U+26688 are the two (and
Bo-Yin Yang> the only two) Chinese characters whose encodings are
Bo-Yin Yang> "bmr", then input of bmr must list 同 and U+26688 as the
Bo-Yin Yang> first two characters in the preedit window for choice of
Bo-Yin Yang> characters, no matter how unlikely to appear 同 and might
Bo-Yin Yang> be deemed by the data table.  That the encoding matches
Bo-Yin Yang> the input sequence must outweigh any other factor in the
Bo-Yin Yang> AI.
Don’t create an “ikeys” table

The “ikeys” table created in tabsqlitedb.py is apparently never
used anywhere.
Support prompt characters

Some tables, e.g. cangjie5.txt contain prompt character definitions:

BEGIN_CHAR_PROMPTS_DEFINITION
a 日
b 月
c 金
...

Read these when creating a database and save it to the database.

When typing, show these prompts instead of showing the typed Latin
characters in the auxiliary text, the preëdit, or in the candidate
list for the remaining keys to type to complete a match.
Merge pull request #35 from mike-fabian/exact-matches-at-the-top-and-support-prompts-for-cangjie

Exact matches at the top and support prompts for cangjie