initial Tortoise commit

based on NetLogo/NetLogo@f17b389adb566cf59f8598407c4579ecfdd9aa92
from April 2013
correct my misunderstanding of CoffeeScript
Merge remote-tracking branch 'origin/headless' into tortoise
Tortoise: rename TestTortoise to TestDocking
Merge branch 'headless' into tortoise
special Travis config for tortoise branch

Merge remote-tracking branch 'origin/headless' into tortoise

Merge remote-tracking branch 'origin/headless' into tortoise

Conflicts:
	.travis.yml
Merge branch 'sbt-0.13' into tortoise
Merge commit 'a49a18699050aa75012f68467071f1408874d851' into wip-tortoise-testdocking-regression
Merge commit 'b1de05c068d41c536f090d282572b087d57a3f24' into wip-tortoise-testdocking-regression
Merge branch 'headless' into wip-tortoise-testdocking-regression
rename class to follow naming convention
add some basic standalone tests for Tortoise engine
Merge branch 'headless' into tortoise
get 'sbt depend' passing again on Tortoise
make Rhino not a singleton anymore

I suspect this of being a cause of intermittent TestDocking failures
on Travis and Jenkins, since we added TestEngine, which may run in
parallel with TestDocking.  but anyway, it's the right thing and
needs to happen anyway.
remove unused code in compat.coffee

a little nervous about removing this since I don't remember
why it was there in the first place.  but I've been getting
"Cannot modify a property of a sealed object: toRadians" errors
sometimes, and this should make them go away.
clean up imports
Tortoise: better error when a primitive is missing
Merge branch 'headless' into tortoise
move TestDocking to subpackage