Add support for CLOGS scan primitive

Currently undocumented, and only specialised for cl_int.
Complete type traits for clogs, add a vector test

The generator for cl_double2 in random_vector.hpp has also been
generalized to handle all CL vector types.
Redesign the traits for clogs.hpp

The traits are now split into separate classes per trait (clogs_type and
clogs_is_scannable). They are also defined for vector types, and have
been taken out of the detail namespace so that users can extend them to
compatible types.
Put clogs wrappers into vex::clogs namespace to avoid conflict with built-in functions (the clogs wrappers are not entirely a drop-in replacements)
Partial integration of clogs::Radixsort.

The unit test currently fails, however.
Copy vals in detail::merge (fixes #104)
Fix up use of boost::fusion in merging for clogs
Fix invalid construction of clogs::Type
Rename clogs::sort_by_key to clogs::stable_sort_by_key, in case clogs ever adds a faster unstable sort
Make clogs sort test actually use clogs implementation, not vex implementation
Remove unneeded header
Fixes a bug in sort_by_key algorithm

Values were written over by junk data instead of being sorted by keys.
Moreover, this was not covered by tests.

Closes #104, closes #105.
Simply clogs type registration using a macro
Use lcov to generate coverage info for coveralls.io
Merge pull request #106 from ddemidov/coveralls-lcov

Use lcov to generate coverage info for coveralls.io
Fix file paths for coveralls.io

Reference #106
No need to define SHOW_KERNELS in build_init

Environment variable works better
Provide is_device_filter metafunction

Checks if the provided type is a device filter.
Use is_device_filter to disambigute Context constructors
Provide alternative Context constructor for user-supplied contexts/queues