Make stream operator for vector types inline

This marks the stream operator for vector types as
inline.
Make get_object_info() inline

This marks the get_object_info() method as inline.
Fix bug in move-constuctor for vector<T>

This fixes a bug in the move-constuctor for the vector<T>
class.

Previously, the moved-from object was also deallocating the
memory buffer leading to an error when the moved-to object
attempted to use it. Now, the constructor checks if the buffer
is non-empty before deallocating it.
Move get_extension_function_address() method to platform

This moves the get_extension_function_address() method from
the system class to the platform class. Also changes the method
to use the clGetExtensionFunctionAddressForPlatform() function
instead of the deprecated clGetExtensionFunctionAddress() when
compiling with OpenCL 1.2.
Move unload_compiler() method to platform

This moves the unload_compiler() method from the system class
to the platform class. Also changes the method to use the
clUnloadPlatformCompiler() function instead of the deprecated
clUnloadCompiler() when compiling with OpenCL 1.2.
Remove command_queue::enqueue_wait_for_event() method

This remove the enqueue_wait_for_event() method from the
command_queue class as the clEnqueueWaitForEvents() function
has been deprecated in OpenCL 1.2.
Fix command_queue::enqueue_barrier() for OpenCL 1.2

This changes the enqueue_barrier() method in the command_queue
class to use clEnqueueBarrierWithWaitList() instead of the
deprecated clEnqueueBarrier() function when compiling with
OpenCL 1.2.
Fix command_queue::enqueue_marker() for OpenCL 1.2

This changes the enqueue_marker() method in the command_queue
class to use clEnqueueMarkerWithWaitList() instead of the
deprecated clEnqueueMarker() function when compiling with
OpenCL 1.2.
Add OpenCL 1.2 error codes to runtime_exception

This adds support for the OpenCL 1.2 error codes to the
runtime_exception class.
Update image2d/3d constuctors for OpenCL 1.2

This updates the constructors for the image2d and image3d
classes to use the new clCreateImage() function instead of
the deprecated clCreateImage2D/3D() functions.
Fix indentation in kernel::get_arg_info()

This fixes the indentation in the kernel::get_arg_info()
method.
Add missing iostream header include to test_device

This adds a missing include for the iostream header to
test_device. This fixes a compilation issue when using
OpenCL 1.2.
Cleanup constructors for wrapper classes

This cleans up the constructor methods for the OpenCL wrapper
classes and unifies the API used for creating a wrapper class
object from the underlying OpenCL objects.

Now, every wrapper class has a constructor taking the OpenCL
object and an optional boolean retain parameter which indicates
whether the constructor should increment the reference count.
Fix bug in get_buffer() for iterator adaptors

This fixes a bug in which the get_buffer() method was not properly
disabled for iterator adaptors with a non-buffer base iterator.
Add generate_fibonacci_sequence test-case

This adds a new test case which computes the first twenty-five
fibonacci numbers using the transform() algorithm and a custom
generator function.
Replace usages of result_of() with tr1_result_of()

This fixes a bug in which boost::result_of() would return the
wrong result type for a function due to the new implementation
using decltype instead of the result_of protocol on compilers
that sufficently support C++11 (such as clang >= 3.2).

Now, boost::tr1_result_of() is used to explicitly request that
the result_of protocol be used even when decltype is supported
by the compiler.
Fix unused variable warning in get_base_iterator_buffer()

This fixes an unused variable warning which occurs in the
get_base_iterator_buffer() function when the base iterator
is not a buffer iterator and thus the iter argument is not
used.
Move adjacent_transform_iterator to detail namespace

This moves the adjacent_transform_iterator class to the
detail namespace.
Move binary_transform_iterator to detail namespace

This moves the binary_transform_iterator class to the
detail namespace.
Move pixel_input_iterator to detail namespace

This moves the pixel_input_iterator class to the detail
namespace.