more threads, clean up

have several thread creation/exit/switch execution paths
Merge pull request #73 from LudwigOrtmann/two_threads

more threads, clean up