tinythread.cpp: don't wrap threaded function call in a try {} catch(...){}

In the event that the child thread misbehaves, we want a core dump with
a useful backtrace, not a backtrace that ends with this wrapper's terminate().
ebwt_search.cpp: fix segfault in mismatchSearchWorkerFull().

This is an off by one error, resulting in uninitialised data structures
being passed to the last thread.r
A few instances of this tids[i] = i+1 have been changed, although it appears
only one of these actually causes problems.