Implemented a few utility functions.
Added tests for the utility functions implemeted previously.

Added tests for the utility functions implemeted previously.
One of them fails because we need to implement locks.
Added a mutex type that takes into account coroutines.
I tried to implement the Mutex concept so it can be used with lock_guard,
unique_lock and anything that works with Mutexes.
Implemented locking and added a test that passes.
Fixed the stupid design of condition_variable.
It was impossible to wait for a thread to start waiting before notifying.
Now every test passes except for one that needs more extensive changes.
Finished implementing the ser_queue() and default_par_queue() utility
functions.
They should be free of deadlocks, crashes and all that. No guarantees
thou :D.