detail/tuple: add `grow_tuple` helper that can make tuple from any arguments
detail/tuple: add `grow_tuple` helper that can make tuple from any arguments

`grow_tuple()` is function with two arguments and several overloads.

1) Special case when any argument is a tuple is considered and result is
the tuple that is a 'flat' merge of arguments.

2) Resulting tuple will store rvalue reference arguments by value (that
is moved from rvalue ref). Lvalues are stored by lvalue references.

uentity/blue-sky-re,uentity/blue-sky-re,uentity/blue-sky-re