Added is_iterator helper function
Added consume() and nth() recipes from Kayla.
Explicitly added iterators:: to consume and nth tests/examples.
Typo in is_iterator causing errors. Fixed.
Added a utility function that calls nextElem, similar to try_default.
Added the ichunk() iterator to return elements in chunks.
Added `dotproduct()` from Kayla.
Fixed typo in idropwhile() docs.
Added ilength() from Kayla's PR.
Cleaned up Kayla's ipad() iterator from itertools recipes.
Added ipairwise() recipe from Python's itertools via Kayla's.

Currently, a test fails because of an issue with `itee()`.
Added quantify() from itertools recipes via Kayla's PR.
Initial implementation of iroundrobin().

Not quite finished. Need to implement `take()` before the unit tests
become meaningful.
Implemented take() from itertools recipes.

Test failing because of `ichain()` issue in `take()` test?
Updated roundrobin() to pass tests.
Ported itabulate() from itertools recipes via Kayla's PR.
Added iunique() and iunique_justseen() from itertools recipes.
Fixed a rare issue where ichain() was throwing an uncaught exception.

A repeated stop() call was added to circumvent an error that appeared in
a unit test for itertools2::take().
Added iter_deepcopy() so that itee() works with iterators. Closes #36

Resolved an issue with `itee()` when applied to an iterator. Shallow
copies were being made, such that each shared a common `state`. The
introduction of `iter_deepcopy()` resolved this issue.
Updates to pass R CMD CHECK.