libmn: factor out make_tuple_indices

And reimplement is as C++14 compatible make_index_sequence /
index_sequence.
libmn: decay call_later parameters in libmn::thread constructor

Since libmn::thread() runs the call_later functor asynchronously
and returns immediately, we can't store references to the arguments
we're forwarding because they could go out of scope by the time
we get around to calling them. Instead we store copies or moves of
the arguments to forward.