get rid of Agent.setObserverVariable

part of slimming down agent.Agent
convert agent.Agent to Scala
minor cleanup
build cleanup: keep tortoise stuff separate
add an ExpressionParser test case
Merge remote-tracking branch 'origin/master' into tortoise
bring mirroring code on tortoise branch in sync with master