Minor fixes for next_permutation

Add it to algorithm.hpp.
Remove unnecessary includes.
Change naming so as to prevent conflicts.
Add algorithm and test for prev_permutation
Add algorithm and test for is_permutation
Changed some 'uint's to 'uint_'s
Merge pull request #127 from roshanr95/permutation-algorithms

Permutation algorithms
add BOOST_COMPUTE_DEFAULT_DEVICE_TYPE env variable support

allows a user to easily select between a gpu and a cpu without recompiling
Merge pull request #128 from 'daniel-murray/develop'

add BOOST_COMPUTE_DEFAULT_DEVICE_TYPE env variable support
Changed tpb and workSize to 'uint_'s
Merge pull request #129 from vaa-msu/patch-1

Changed some 'uint's to 'uint_'s
Merge pull request #130 from vaa-msu/patch-4

Changed tpb and workSize to 'uint_'s
Add bernoulli distribution
Merge pull request #131 from roshanr95/bernoulli-distribution

Add bernoulli distribution
Add normal_distribution.hpp to random.hpp header
Remove bogus assert() in command_queue::enqueue_nd_range_kernel()
Update README file
Swap allocators in vector::swap()
Use clEnqueueWriteBuffer() for writing single values with fill()
Add memory_object::set_destructor_callback() method
Add core.hpp header
Improve documentation