get initForTesting stuff out of src/main

and rationalize it somewhat

and while we're at it, reduce unnecessary dependencies on
TestDeclarations.  now it's specific to Finder-based tests.
make api.WorldDimensions a case class

for convenience when constructing
rationalize InitForTesting

and enforce that HeadlessWorkspace can't open a new model

and beef up ModelCreator so you can specify world dimensions,
and so you get the default turtle shapes and link shapes
make WorldDimensions immutable, because omg wtf
eliminate redundant HeadlessWorkspace.openFromSource method

openString is the same, don't know how we ended up with both
remove obsolete comment

the answer to the question in the comment is, because supporting
opening a new model in the same workspace isn't something we need to
support, and therefore it's easier not to support it.  more invariants
apply
remove some now-unnecessary code

now that we're strict about HeadlessModelOpener only ever being used
once per HeadlessWorkspace, we shouldn't need to worry about cleaning
before opening
code improvement in headless testing

fold InitForTesting into ModelCreator
code improvement in headless.lang tests

make StandardWidgets only part of Finder, not part of every
Fixture-based test
fix regression where TestImportExport was failing

it ran afoul of the new "can't call open() twice" rule for
HeadlessWorkspace
remove unused code
split compile into compile.middle and compile.back
Merge commit 'a49a18699050aa75012f68467071f1408874d851' into wip-tortoise-testdocking-regression
Merge commit '6a6d1ea5ded0784d7e76c94d47f1efa992f275a5' into wip-tortoise-testdocking-regression
Merge commit 'b1de05c068d41c536f090d282572b087d57a3f24' into wip-tortoise-testdocking-regression
Merge commit '0129e9dfbe159614e1bb3c76ac8bd07bb29e75ed' into wip-tortoise-testdocking-regression
Merge commit 'be40d8e8ced42fed9d9c0e0f7c2bdf55cef367d4' into wip-tortoise-testdocking-regression
Merge commit 'fa660b8a92c5f793cfd91d9d495932674d7898d3' into wip-tortoise-testdocking-regression
Merge commit '41bd4c2d85d1139f27142d11dd8a1ebf511caae3' into wip-tortoise-testdocking-regression
Merge commit '33dd67867d9bc561bcbb66882ecc8bde2a0aace4' into wip-tortoise-testdocking-regression