Add waiting helper for blocking current thread.
Use connect/disconnect instead of startup/shutdown for data store connection.
Add show_error_dialog.
Revert to having thread wait block until all results; Add synchronization around changing waiting_for variable.
Raise exception when no block given.
Show errors in thread to stdout.
Reset output / change address
Show transaction link in GUI when there is a successful transaction.