Collapse raw_reference_cast.h & raw_reference_cast.inl
Reorder the code therein such that raw_reference_cast's definitions occur after various template specializations it instantiates

Fixes #600
Merge branch '1.8.0' of github.com:thrust/thrust into issue-600
Merge pull request #602 from jaredhoberock/issue-600

Issue 600
Merge pull request #603 from thrust/1.8.0

1.8.0
Fix build issue with MSVC 2013: include <algorithm> to get std::min
Merge pull request #604 from sgurfinkel/1.8.0

Fix build issue with MSVC 2013: include <algorithm> to get std::min
Merge pull request #605 from thrust/1.8.0

1.8.0
Avoid modifying the definition of __host__ & __device__ if host_defines.h has already been #included.

Fixes #606
Merge pull request #607 from jaredhoberock/1.8.0

1.8.0
Merge pull request #608 from thrust/1.8.0

1.8.0
Update device_vector.h

Corrected typo
Merge pull request #609 from stinch/patch-1

Update device_vector.h
In CUDA's general_reduce, don't reuse the first group_size in the kernel which reduces partial sums

Fixes #592
Merge pull request #610 from jaredhoberock/issue-592

In CUDA's general_reduce, don't reuse the first group_size in the kernel...
Merge pull request #611 from thrust/1.8.0

1.8.0
Merge branch 'master' of https://github.com/thrust/thrust
Merge branch 'master' of https://github.com/sdalton1/thrust