Remove original code.
Reimplement message queues.

This time tested with gcc, so it is certain to compile with it.
Also, use a simpler model, making debugging easier.

Dropped size limiter (petrinets have mechanisms to enforce this in the model,
which is easier to prove).

Dropped reference counters: without reference counters, dedicated classes
can be created modeling a whole petrinet at once.
Implement message queue events.

I'm not sure if I want them to be workq_jobs or std::function objects.
Might change that in the future, dunno...
Fix atomic function name.
Work around missing atomic ops on shared_ptr.

The c++ library that comes with gcc 4.8 (20130203) does not implement
atomic_* operations on shared_ptr.  The work-around is to test if a
library implements this and if not, to work around it using a couple
of global spinlocks.
Once support is implemented, the library should atomatically detect
this on rebuild (but be sure to rebuild all code depending on it).
Update copy right: add missing and add year on change.
Fix atomic ordering constraint.
Remove pre-instantiated templates.
Refactor msg_queue_events to use an array.
Create shared library.
For atomic shared_ptr, we only need to know if it compiles.
NFC, but I think CMAKE_REQ_LIBS is supposed to be set to something derived from FindThreads...
Document what TLS tests returning 1 mean.

Compiler and OS seem to run out-of-sync with eachother, with the compiler
happily accepting and generating TLS variables, but the dynamic linker
not correctly resolving them.
So this test needs to actually run without error, for a functioning TLS
implementation.
Work around clang bug.
Rewrote promises.

The old code had a few design issues:
- it lacked the ability to inform callbacks of errors (exception completion)
- it was a rather complex mess of code instantiation to get anywhere useful.
New code:
- is simpler and cleaner
- may even be considered elegant..?
- callbacks now receive a promise or future (as apropriate) to fill in;
  this means the future callbacks can now properly evaluate if an exception
  was raised
- required code instantiation is minimal.