Split iterable from iterinstance.

The magic treatment of the decorated function's first argument made it
impossible to control whether a class based on Iterator got used as the wrapper
or not.  When Permutation (based, via Tuple, on Iterable) wants an iterator that
isn't a permutation, this got problematic.  So split the decorator into two and
oblige the author to be clear about whether to make an instance of the present
class or just make a simple iterator.
Simplified Iterable.filter() using modern language constructs.
More detail in Iterable.cartesian()'s documentation.

... and that of its implementation details.
PEP 8: fix lots of uses of __myclass__

Mostly just rename to _myclass_.  That introduced a collision for Sample's
_weighted_ (only confusing, albeit non-buggy, since Sample isn't based on the
Weighted family, where I renamed __weighted__), so renamed to _weights_. In
Quantity, __adcheck_() was a hybrid, so made it __adcheck(); similar for
recurseprop's .__recurse_.  A stray TODO has crept into this commit, too; and a
typo for __ontains__, found while searching for bad names.
Minor bug-fix and (mostly space) clean-up in permute.py
Bug-fix in Permutation.all when size is 0.

The permutations of () may be boring, but we should get them right !
Make Permutation.all an @iterable so we can .filter() it and so on.
Reworked queens.Solution to just filter Permutation.all()

Turned __peaceful() into a static method in support of that.
Reworked queens.Solution.unique().

Fixed a dumb bug where the lambda i: n - i flip was off by one and packaged the
corrected form as a tool function passed around by unique()'s helpers.  Switch
to using a set() to hold the solutions we've already seen.  Documented more.
Changed repr() to start with a blank line, to preserve grid integrity.
Spacing changes.
Describe Vacuum.c correctly where it's defined

... instead of partially there and better in Photon's body !
Convert WeakTuple to be based on Tuple.

Since Tuple if based on ReadOnlySeq, it's also necessary to suppress auto-import
of cache.weak when loading study.cache.
Petty changes to Permutation.all().

Minor tidy-up and an assertion.
Simplify Cycle.__iter__ and make rationalize()'s ValueError say more.
Repackaged pythagorean triangles in an iterable class.

This makes it possible to iterate over all coprime pythagorean triangles.
Give study.space.home.Universe a __doc__

... if only so that it can refer to chemy.physics.Cosmos
Change recurseprop to use a set() as its .__recurse
Purge extraneous class parameters from property getters.

Not wure where I got the idea they were needed; and their name was wrong anyway.
Treat complex with zero .imag as real in cardan.quadratic().
Wording changes in top-level __init__.py

Prefer name chaos over random; has the right length.
Typo: covnert !
More structured formatting in natural.lattice's doc.