Derive device iterator categories from
detail::iterator_category_with_system_and_traversal to satisfy libc++'s
implementation of std::iterator_traits' requirement that iterator
categories be convertible to standard iterator categories.

Fixes #581
Merge pull request #583 from jaredhoberock/issue-581

Derive device iterator categories from
Convert newlines to UNIX-style

Fixes #586
Merge pull request #587 from jaredhoberock/issue-586

Convert newlines to UNIX-style
Fix typo in thrust::tuple documentation
Merge pull request #589 from jaredhoberock/tuple-doc-bug

Fix typo in thrust::tuple documentation
Changed Windows newlines to UNIX newlines
Merge pull request #593 from greatpowerofcheese/1.8.0

Changed Windows newlines to UNIX newlines
Lowered number of registers to 64 to limit template instantiation recursion
Merge pull request #594 from sgurfinkel/1.8.0

Lowered number of registers to 64 to limit template instantiation recurs...
Fix build issues with GCC < 4.5
 + Space/or/Newline needed for loops with empty bodies
 + __host__ and __device__ redefined due to push/pop macros not existing on GCC < 4.5.
Merge pull request #597 from kperelygin/1.8.0

Fix build issues with GCC < 4.5
Note the addition of thrust::complex in Thrust 1.8
Merge branch '1.8.0' of github.com:thrust/thrust into issue-600