catch_tostring: Move toString overload declarations

- Put all the declarations of the overloads early in the file, so they
  get seen by the templates later on
catch_tostring: Add includes for tuple, type_traits
catch_tostring: toString for std::tuple
Add tests for toString(std::tuple<...>)
ToStringTuple - gcc doesn't like tuple init_list ctor
Merge branch 'tuple_to_string' of https://github.com/PureAbstract/Catch into PureAbstract-tuple_to_string
Merge branch 'PureAbstract-tuple_to_string' into develop
Added tests for toString<std::tuple<>> and rebased
build 13

toString for std:tuple