This PR changes the thread of the OpenWalletActivity, from the wallet controller thread to the GUI thread. The actual opening is still executed in the wallet controller thread, but in a different way. Considering the current minimum Qt version, the best way to run a function in a different thread is to use QTimer::singleShot(0, worker, () { ... }) where worker is an object in a different thread. With Qt 5.10, the correct way is to use QMetaObject::invokeMethod.
This change also removes from bitcoingui.cpp the handling of loading messages and progress dialog.