Fixed bug

We start the conditions at 0 for the end command however the
conditions start at 1 for the error command. We should probaly fix
that ...
Added START command to recieve protocol

Added the START command tot he recieve protocol so that we are able
to actually play the game (if a command is not reconized the recieve
interface throws an exception which caused the program to crash).
Maybe we will add parameters to the start command indicating whos
turn it is.
Added new version of ttt base to Android app
Don't allow the activity to die

Don't allow the activity to die when we change the orientation.
This causes a crash and lots of other bad things!
Fixed semaphores

This handles the case that both processes try to init the semaphore
at the same time. Took quite a bit of code but I will have to test
it out.
Added comments and SEM_UNDO

SEM_UNDO tell the kernel that if the process were to die without
having the chance to increment the semaphore (recieves SIGKILL)
then the kernel will undo anything that the process has done to
the semaphore. Just being safe. Also I added comments to make the
code a little bit more readable.
Fixed bugs in semaphore and made it more robust

Fixed a bug where we are init the semaphore and not telling semop
what number semaphore we wanted. There was also a bug where no
matter what the semaphore_init() function would fail. Just make sure
that we return 0 when we know that we have successfully create a
semaphore. I also made the semaphore_wait() and semaphore_signal()
operations return an integer to tell the calling program whether
or not they suceeded. This makes the program a little bit more
robust.