Rework documentation

I did the following changes : 
1. Changed the README to be more oriented toward examples rather than just list of functions.
2. Added examples of testing using the mocks.
3. Added an explanation of the difference between mutex and semaphores in uc/OS-III (and therefore in our implementation).