trac #16269: _element_constructor_ in CartesianProduct
trac #16269: Finish the previous commits
trac #16269: Fixing doctests and implementing additional functions
trac #16269: Working around "officially not a bug"
trac #16269: missing __iter__
trac #16269: Merged with 6.2.rc1
trac #16269: Reviewer's remarks
#16280: Fix call for FiniteEnumeratedSet's of plain Python objects
#16280: Trivial doctest fixes
trac #16269: Merged with #16280
Trac 16269: little improvements + line folding in the doctest output

- Use _cartesian_product_of_elements to bypass the constructor checks
- Moved __iter__ on elements of plain cartesian products to the
  concrete class to make use of its data structure for speed
- Accept an iterable in the constructor
Updated Sage version to 6.2.rc2
Trac 16269 (or follow up): optimize CartesianProduct._cartesian_product_of_elements
#16289: Fix ZZ.cartesian_product(...)
trac #16288: Merged with 6.2.rc2
trac #16288: add a method to the doc
#16280: fix link in the doc + move import to its natural spot
sage-cleaner: fix rm_rf on OS X
Trac #16293: Fix sage-cleaner's rm_rf function on OS X

On OS X, if you use `os.unlink` on a directory, you get an OSError,
"[Errno 1] Operation not permitted". We need to catch this so that
`sage-cleaner` works properly. (On linux machines, you seem to get
OSError, "[Errno 21] Is a directory".)

URL: http://trac.sagemath.org/16293
Reported by: jhpalmieri
Ticket author(s): John Palmieri
Reviewer(s): Leif Leonhardy
Updated Sage version to 6.2