added multithreading support

- added Threading class to make parallel run easier
- added new option "--threads=N" to explicitly set the number of threads
  (default: autodected)
- added locking to Messages (to not mix output from threads)
- run ruby conversion in threads to speed it up
Merge pull request #326 from lslezak/multithreading

Added multithreading support