First complete draft of task condition variables.
Updating makefile to produce/use shared objects.

This also updates the main file to link against them, so it either requires
they go in a standard place, or use LD_LIBRARY_PATH to set the current directory
as a library path.
Adding shared objects to .gitignore.
Setting up testing structure.

Adding specific test directories and Makefiles, which can mostly now
be copied. woot.
Initializing count and fixing unlock condition.

The unlock condition read "> 0" but of course this is always true
(since it is being unlocked the count must already be at least 1)
so the fix is to simply make it "> 1".
Updating basic test.
Adding sleep test.
Adding mutex test.
Removing freaky unexported cv specific mutex function.
Removing unnecessary paramater from condition variable constructor.
Adding condition variable test.