Allow LVish tests to depend on the library properly.  This required a couple module renames so we
could then make the internal modules exposed rather than hidden.
Merge commit '7bbe2fdbb71b35d019c6aabdc9cf1912dbfc4be0' into nonidem2.0

This is a PAINFUL merge because git failed to track the moved files here.
A simple refactor on the upstream has made this more difficult.  This is in
addition to the file renames that happened on the nonidem branch in the first place.

After manually fixing things up, this rev builds and can run tests.  But there are significant timeout failures!!!

Conflicts:
	haskell/lvish/Control/LVish.hs
	haskell/lvish/Control/LVish/Basics.hs
	haskell/lvish/Control/LVish/DeepFrz.hs
	haskell/lvish/Control/LVish/Internal.hs
	haskell/lvish/Control/LVish/Logical.hs
	haskell/lvish/Control/LVish/Sched.hs
	haskell/lvish/Control/LVish/SchedIdempotent.hs
	haskell/lvish/Control/LVish/Unsafe.hs
	haskell/lvish/Data/LVar/Counter.hs
	haskell/lvish/Data/LVar/CycGraph.hs
	haskell/lvish/Data/LVar/Generic/Internal.hs
	haskell/lvish/Data/LVar/IStructure.hs
	haskell/lvish/Data/LVar/IVar.hs
	haskell/lvish/Data/LVar/Internal/Pure.hs
	haskell/lvish/Data/LVar/LayeredSatMap.hs
	haskell/lvish/Data/LVar/NatArray.hs
	haskell/lvish/Data/LVar/PNCounter.hs
	haskell/lvish/Data/LVar/Pair.hs
	haskell/lvish/Data/LVar/PureMap.hs
	haskell/lvish/Data/LVar/PureMap/Unsafe.hs
	haskell/lvish/Data/LVar/PureSet.hs
	haskell/lvish/Data/LVar/SLMap.hs
	haskell/lvish/Data/LVar/SLSet.hs
	haskell/lvish/Data/LVar/SatMap.hs
	haskell/lvish/Experimental/BitArray.hs
	haskell/lvish/Internal/Control/LVish/SchedIdempotent.hs
	haskell/lvish/lvish.cabal
	haskell/lvish/tests/ArrayTests.hs
	haskell/lvish/tests/LVishAndIVar.hs
	haskell/lvish/tests/SNZITests.hs
	haskell/lvish/tests/SkipListTests.hs