Fixed some issues with broken map iterators,
introduced mapi and mapic
   * mapi is for iterating over a variadic number of iterators merging them together with a lambda to a single iterator.
   * mapic is the same but takes containers as the argument instead of iterators.
Lambda construction cleanup in test.