Major refactoring of the runtime code, Specifically:
- Move the bulk of the core code from main() into a new Runtime class.
- Break up the mass of code that was main() into a number of relatively simple functions.
- Make the Configuration dialog synchronous so the Log dialog can be properly viewed.
- Enable/disable menu options at the right time.
- Remove support for Qt < 5.0.
- Remove the application name constant and hardcode the name to simplify the code.
- Improve log messages.
- Replace the sdbm hashing with Qt's MD5 hashing.