fix file path operation in TreeDb::RecoverFromSnapshot() and UserDictManager::UpgradeUserDict().
build scripts: supporting static build with thirdparty libs on linux.
update ChangeLog.
deployer: minimize the chance of race conditions.
fix a crash on synching data to an inaccessible device.
[Mac] fix: Command(Super)+Shift cases toggling ascii mode.
ascii_composer: toggle ascii mode with CapsLock key.
user_dict_manager(UserDictManager::Restore): fix miscalculation.
user_dictionary: zeroing tick was causing problems; fix rocketing d-values.
Rime 0.9.7 release.
support option 'ascii_composer/switch_key/Caps_Lock'.
add global option 'ascii_composer/good_old_caps_lock'.
Fixed a boost-related crash.

In rime::Deployer::JoinMaintenanceThread(), the call
to boost::thread::join() may cause application to crash
if the thread is not joinable (i.e. not-a-thread, or thread
terminated).

However, it seems that this situtaion only occur with the
recent version of boost (without C++11, with multithread,
with BOOST_THREAD_TRROW_IF_PRECONDITION_NOT_SATISFIED
marco defined by default).
Merge pull request #2 from lembacon/master

Fixed a boost-related crash
user_dictionary: fix abormal records created by a bug in merging.
let Context::HasMenu() return false if menu is empty.
speller: add options 'speller/auto_select' and 'speller/auto_select_unique_candidate'.
speller: enable auto-committing unique candidate in fluency_editor.
speller: support options 'speller/use_space', 'speller/finals'.
punctuator: add option 'punctuator/use_space'.