Reimplement zip_iterator based on Boost.Fusion

  By default, backward compatibility for Boost.Tuple is presented.

Signed-off-by: Kohei Takahashi <flast@flast.jp>
zip_iterator specialization for std::pair

Signed-off-by: Kohei Takahashi <flast@flast.jp>