Fix partition_by_counts test for Intel CPUs

This fixes a test failure in partition_by_counts for Intel CPU
devices. The clCreateSubDevices() function is not guaranteed to
return the sub-devices in the same order as they were specified
in the compute unit counts argument.

Now the test sorts the returned sub-devices by number of compute
units and checks that each specified count is present.

See issue #185.
Merge pull request #187 from kylelutz/fix-partition-by-counts-test

Fix partition_by_counts test for Intel CPUs
Check OpenCL version before calling enqueue_fill_buffer()

This adds a check for OpenCL version 1.2 before calling the
enqueue_fill_buffer() function in the fill() algorithm.
Skip tests requiring OpenCL 1.2 on usupported devices
Parallel build on Travis-CI
Merge pull request #189 from ddemidov/skip-1.2-tests

Skip tests requiring OpenCL 1.2 on devices that do not support OpenCL 1.2
Merge pull request #190 from ddemidov/parallel-travis-build

Parallel build on Travis-CI
Fix issues with popcount() on OpenCL 1.1 devices
Merge pull request #191 from kylelutz/fix-popcount

Fix issues with popcount() on OpenCL 1.1 devices
Add perf_fill benchmark
Unify seed() method interface in the random number engines

This updates the random number engines to both use the same
interface for their seed() method.
Merge pull request #192 from kylelutz/perf-fill

Add perf_fill benchmark
Add perf_copy_if benchmark
Merge pull request #166 from kylelutz/perf-copy-if

Add perf_copy_if benchmark
Merge pull request #193 from kylelutz/unify-seed-method-interface

Unify seed() method interface in the random number engines
Add OpenCL 1.2 memory flags to mem_flags enum
Merge pull request #194 from kylelutz/opencl-1.2-mem-flags

Add OpenCL 1.2 memory flags to mem_flags enum