initial OpenCL support commit
Added find_package for opencl to cmake.
added command_dispatcher to singletons
--with-opencl now sets the CPPA_OPENCL flag
Merge branch 'unstable' of github.com:Neverlord/libcppa into topic/opencl
bugfix for `detail::behavior_stack` + maintenance

this patch fixes an issue in `behavior_stack`: in case handlers are
invoked from cache, the behavior is not copied beforehand
use `util::comparable` for message_id_t
basic functionality added to cppa/opencl
Merge branch 'unstable' into topic/opencl

Conflicts:
	cppa.files
revamped spawn to use event-based impl by default

this patch turns libcppa's spawn function family upside down;
actors are now event-based by default, but users can opt out
by using `spawn<blocking_api>(...)`;
this patch also removes the old `scheduling_hint` interface and
replaces it with the more versatile `spawn_options`, e.g.,
`spawn_monitor<detached>(...)` becomes `spawn<monitored + detached>(...)`
restructured actor class hierarchy

this patch removes several classes and mixins in the actor class hierarchy and
introduces a new mixin facility (`extend<...>::with<...>`);
this patch also refactores several function signatures to take `actor_ptr`
arguments rather than `actor*`
Added smart pointer for opencl types

Uses clRetainX and clReleaseX provided by OpenCL.
The command_dispatcher now uses event callbacks

to handle results from kernel executions.
Merge branch 'unstable' into topic/opencl

Conflicts:
	src/singleton_manager.cpp
adapt to changed actor interface
maintenance & documentation update

this patch renames `message_id_t` to `message_id`,
condenses the `receive` functions, and updates the documentation
allow event-based actors to become detached

this patch extends the `spawn` function to allow `spawn<Impl,blocking_api>(...)`
and thereby allow users to detach event-based actors using a class;
this patch also removes some unneeded headers, renames
`detail::recursive_queue_node` to `mailbox_element`, combines the two classes
`ge_reference_wrapper` and `ge_mutable_reference_wrapper` to simply
`rebindable_reference`, and does some maintenance and documentation
Merge branch 'unstable' into topic/opencl
use ios::out instead of ios::app to open logfiles
bug fixes