Adds support for selecting devices with environment variables

boost::compute::system::default_device() supports the following environment
variables:

BOOST_COMPUTE_DEFAULT_DEVICE   for device name
BOOST_COMPUTE_DEFAULT_PLATFORM for OpenCL platform name
BOOST_COMPUTE_DEFAULT_VENDOR   for device vendor name

If one or more of these variables is set, then device that satisfies all
conditions gets selected.
If such a device is unavailable, then the first available GPU is selected.
If there are no GPUs in the system, then the first available CPU is selected.
Otherwise, default_device() returns null device.

The hello_world example is modified to use default_device() instead of
default_gpu_device().