Fix wakeup of solution thread.

Check timer counter when resetting period and use a semaphore to
wake up.  Fixes #69
Code review fixes.

Initialise semaphorewith chSemInit.
Expand output on missed solution deadline.
Reorder and group initialisation of semaphore, solution thread and timer.
Merge pull request #140 from gsmcmullin/solution_wakeup

Fix wakeup of solution thread.