allow spawn_cl template parameter to use C types

this patch allows developers to write `spawn_cl<float*(float*,float*)>`
instead of `spawn_cl<vector<float>(vector<float>,vector<float>)`
maintenance

bundled all type trait classes in header "cppa/util/type_traits.hpp" and
refactored some code pieces for clearity
Merge branch 'unstable' of github.com:Neverlord/libcppa into unstable

Conflicts:
	examples/opencl/simple_matrix.cpp
added get_command_dispatcher()
changed error handling

Error handeling for clGetProgramBuildInfo added.
added algorithms to join strings
added configure option to disable mem. mgmt.
Merge branch 'unstable' of github.com:Neverlord/libcppa into unstable
improved any_tuple interface

this patch adds the member functions `drop`, `drop_right`, `take`,
and `take_right` to the class `any_tuple`.
code optimizations
removed command dispatcher to reduce overhead

Added opencl_metainfo to handle opencl context and devices, moved
spawn implementation to opencl.hpp header. Adjusted other classes.
reduced overhead

added move to avoid copies, a device id can be chosen when a program
is created (all available devices are numbered from 0), added
device_info to store information about available devices
maintenance in middleman implementation

this patch removes the class `continuable_reader` and moves
platform-specific code to separate source files (*_poll.cpp, *_epoll.cpp)
Merge branch 'unstable' of github.com:Neverlord/libcppa into unstable

Conflicts:
	cppa.files
fixed Linux-specific middleman impl
the OpenCL context is now created for all devices

The clCreateContext previously ignored all devices but the first,
a context should now be created for all present devices.
Merge branch 'unstable' of github.com:Neverlord/libcppa into unstable
more consistent interface for MM event handler
added buffer to the list of announced types
added default impl. for `local_actor::dequeue`