Added iter_length helper function to determine the length of an iterator object.
Initial implementation of irep(). #32

* The unit tests are pretty much complete.

* The code for irep() is borrowed from irepeat().

* Next step is to finish implementation of irep() and irep_len().
Implemented irep() and irep_len(). #32

Although implementation is done, I did not account for the option that
the 'length.out' argument extends the iterator past its life.

Example: The following give the same results:

```r
as.list(irep(1:4, each=2, length.out=10))
as.list(irep(1:4, each=2))
```
Removed recycling from irep tests. #32

Also, added a brief note in the irep docs indicating that recycling is
not implemented. IMO, the behavior is counterintuitive.
Implemented iproduct(). #17

itertools2::irep() needs to be modified so that it matches base::rep()
when both the `times` and `each` args are provided.

In doing so, iproduct() will behave properly, and the tests will
pass. As a sidenote, if itertools2::irep is replaced with base::rep
within iproduct(), the tests pass.
Added test for Issue #33
irep matches base::rep() when both times and each args are given. #33 #17
Updated DESCRIPTION and added Kayla as package coauthor. #34
Small mods to README. #34
Cleaned up NEWS a bit. #34
Slight rewording in README. #34
Lots of fixes to pass R CMD CHECK. #34
Merge branch 'moar-iterators'