Some reorganization of the multiprocessing functionality

Great! I played around with it for a bit, and the `multiprocess_runner` appears to work pretty well. That is, I didn't notice any problems, aside from the extra `None` print-outs that you mentioned. This pull request is mostly a reorganization, because I didn't feel that the new modules should be part of `libopensesame`, since that's really the basic runtime stuff. I also updated the preferences widget. I haven't done any major testing, and (at least) the `external_runner` is broken now.

Summary of changes:

- Add runner selection option to preferences widget
- Move `*_runner` to `libqtopensesame.runners.*`, because this is GUI functionality.
- Move `process` to `libqtopensesame.misc` for the same reason

Some things still to be done:

- The `external_runner` is broken, but should be easy to fix. We might consider removing that runner altogether, or hide it from the preferences, since it's usefulness is mostly gone now that we have the `multiprocess_runner`.
- Code clean-up, including
    - Use exclusively Unicode strings
    - Add style-conform docstrings
- Fixing the mysterious extra `None` messages in the debug window
- Testing, testing, testing!

Great work!