Added semaphore test file

This is terrible.  What should produce a deadlock crashes the device and
ROBOTC.  Still no documentation on this api.
Reimplemented threads without semaphores

The semaphores built into ROBOTC are a disaster, and it turns out the
++X operator is atomic on the NXT, so I implemented mutexes with that.
Changed to thread model
consumeEvent now locks mutex
Added beep on button 2 press