varying/refactor: begin complete rewrite of Varying for #4.

* only ~half of the tests written
* ::pure is not yet implemented

* someday, massive performance gains to be had from:
+ prioritizing branches that will cause cyclic side-effects
+ merging identical map branches
+ not executing multivaryings until all known parameters are resolved
+ possibly asynchronous propagation