Merge pull request #3 from ddemidov/master

Allow buffer and queue initialization from lowlevel types
Add construct_from_cl_mem test-case to test_buffer

This adds a new test-case to test_buffer which checks the
functionality of the buffer(cl_mem) constructor.
Add construct_from_cl_command_queue test-case to test_command_queue

This adds a new test-case to test_command_queue which checks the
functionality of the command_queue(cl_command_queue) constructor.
Add construct_from_cl_context test-case to test_context

This adds a new test executable for the context class and
adds a new test-case which checks the functionality of the
context(cl_context) constructor.
Add test for constant_iterator

This adds a unit test for constant_iterator.
Add test for counting_iterator

This adds a unit test for counting_iterator.
Add test for permutation_iterator

This adds a unit test for permutation_iterator.
Add test for transform_iterator

This adds a unit test for transform_iterator.
Fix bug when calling fill() with vector types

This fixes a bug in which the fill() algorithm was called by
scan_impl() with an integer zero rather than zero of the value
type which caused issues when using scan() with vector values.
Remove check for local_memory_size in test_kernel

This removes the check for local_memory_size in test_kernel. The
local memory size differs between platforms and some (e.g. Intel)
don't report any local memory usage.