Adding sync_data to tasks, updating examples.
Reorganizing header files to be more self contained.

The types.h file now just contains the forward declarations,
and all specific datatypes are either hidden in the implementation
or only revealed through a specific header.
Increase sleep time, to cut down on wakeups.

Wakeups during 'idle' go from 1.6% of my CPU to negligable with this change.
Removing debug lines from executor.
Adding closure and maybe modules.

The maybe module might still be removed, if it looks silly after a while,
it doesn't do much.
Exporting the notifier_join procedure.
Adding closure to build targets.
Fixing bug in sync_ops: wasn't decreasing runnable count.
Fixing bug: incorrect stack position was being passed to ctx.
Updating processor to have processing loop.

The loop is a copy of the one used in the C++ proof of concept.
This marks the beginning of the conversion of this library to be more ready
to be used by a compiler to target SCOOP.
The basic example uses compiler-centric operations.

Still not working, as there are still a few shutdown issues to handle,
so it completes the work, but then it just idles.
Adds routines for queue operations on priv-queues and closures.
Add fix to conditionally signal run queue waiters.

This is only during deregistration, which may decrease the number of
processors to zero, which means that the executors should shutdown.
Fixing bug where processor mutex and cv were uninitialized.
Updates basic to use new interfaces.
Removing debugging outputs.
Closures now use libffi.
Updating basic to use libffi.
Clearing up a lot of memory leaks.

There are now 0 leaks (so says valgrind) but there are two double-frees I believe.
These will have to be sorted out...
Removing lines that lead to double-free.

Luckily they occur only at shutdown time (executors and list of executors).