Utils: add a zip iterator variadic template

To facilitate the use of boost::zip_iterators in gamgee and foghorn. This can
be very useful especially when dealing with multiple streams that need to be
iterated in sync. In some cases it makes the code more readable too.