This is a minimal CPU implementation of SYCL to run the first example of provisional specification
Improve buffer and range implementation with more constructors

Use both boost::multi_array and boost::multi_array_ref for the allocation and
multi-dimensional view.
Add a vector_add example that does not work yet because the buffer
copy-back is not implemented yet.
Remove a libstdc++ workaround for Clang-3.5 now libstdc++-4.9-dev is available and solves the issue

Also add GCC-4.9 in the test Makefile as a possibility.
Generalize n-D range<> constructors and use signed numbers inside
Fix multi_array size bug when initializing a buffer from iterators

A multi_array cannot have its size changed by assign method.
Simple implementation of 1D parallel_for and id

Add also parallel_vector_add example.
Use range<> and id<> for parallel_vector_add
Add parallel_for recursive iterator

Add also default constructor to range & id and range::get() returns a
reference to be modified
Revert to a read-only range::get() and use [] instead to write range/id elements
Precise the type of single_task parameter as std::function<void(void)>
Add OpenMP parallel execution for SYCL parallel_for if compiled with OpenMP
Add a roadmap in the README
Add preliminary examples from a presentation at HPC-GPU meetup by Lee Howes
Deduplicate slide examples that appeared on several slides
Fix basic syntax in the slide examples: weird Windows characters, ({}) unbalance, indentation...
Fix examples of slides 7,9 and 20
Add crude device, device_selector, gpu_selector & context for slide 13
Rework the buffer & accessor implementation to be closer to the specification

This is required by slide 13 example.
Improve type of parallel_for
Fix example from slide 13 to compile and be more in phase with current specification

Add a lot of \todo in sycl.hpp about unclear points in the specification.