tuple_io + tuple_cat

Getting the ball rolling on this pull request.  There are two pieces:

1. tuple_io, which is a minimal modification of code from [1] to enable stream support for thrust::tuple.  Documentation of this functionality is provided in [2]
2. tuple_cat.  I am including code from @bryancatanzaro [3], as per the request of @jaredhoberock in the thrust-users discussion [4].

[1] https://github.com/boostorg/tuple
[2] http://www.boost.org/doc/libs/1_55_0/libs/tuple/doc/tuple_users_guide.html#streaming
[3] https://github.com/bryancatanzaro/tuple-cat 
[4] https://groups.google.com/d/msg/thrust-users/NxMTkwPp2bg/-s79wXylAREJ