ireduce. Corrected to account for initializator to be able to be None.
Made 2 variants of implementation (in 2 separate files).
Added tests
xrange. rafactoring. correcting errors. adding tests to parameters checking