Fix 'j', 'k' in select mode cannot handle symbol selecting

The original code uses ChoiceFirstAvail() when using 'j', 'k' in select mode.
However, ChoiceFirstAvail() can only handle word and phrase selectin. If
encounting symbol selecting, ChoiceFirstAvail() will fail to setup the
selecting, and lib will crash eventually. See [1].

[1] http://code.google.com/p/chewing/issues/detail?id=472
Rename functions due to typo (keystoke -> keystroke)
Set isSymbol to 0 in SetChoiceInfo

SetChoiceInfo updates the ChoiceInfo for word or phrase, thus it needs to set
isSymbol to 0 to ensure it will not goto symbol choose in the following code.
See [1] for more information.

[1] http://code.google.com/p/chewing/issues/detail?id=472
Make randkeystroke generate more random keys
Avoid use gmake only syntax
Fix compile error
Add type_single_keystroke() for testing
Add assert