SVC: Implemented svcCreateSemaphore

ToDo: Implement svcReleaseSemaphore
* Some testing against hardware needed
SVC: Implemented ReleaseSemaphore.

This behavior was tested on hardware, however i'm still not sure what use the "initial_count" parameter has
Semaphore: Implemented the initial_count parameter.
Semaphores: Addressed some style issues
Semaphore: Removed an unneeded function
Kernel/Semaphores: Addressed some issues.
Kernel/Semaphores: Invert the available count checking.

Same semantics, idea by @yuriks
Kernel/Semaphore: Small style change
Kernel/Semaphores: Fixed build
Merge pull request #246 from Subv/cbranch_1

SVC: Implemented Semaphores