Made dependsOn public

This makes it more useful: a class that creates a dependent can now call
dependent->dependsOn(this), whereas previously the dependent had to
declare the dependency itself.
Added PositionalAgent.distance() method

This lets pa1.distance(pa2) work as a nice alias for
pa1.position().distance(pa2.position()).