MovableActors are now poised to be replaced by MobileActors and their entension ForceActors, which more neatly separate position updating from dynamic force calculations.  Built new force pairing system to create connections between ForceActors.  Force connections are always between two ForceActors, which allows the calculation to be done just once for each pairing.
switched wifi actors over to ForceActors, removed old MovableActor
fixed some force actor issues
force actors store connections in a set, to avoid duplication
typo
incorrect wile loop condition
DataObject abstract parent class created
Corrected ScanDataObjects getting all connected scans rather than all adjacent scans
force connection returns correctly inverted force for corresponding actor
Repulse force connection adjusted to clip minimum distance, avoiding huge force spikes.
Now applies force in correct direction.
tweaks to repulse force constants
actors now start at a small random offset rather than always at (0,0), yielding more useful visual results for debugging.
debug statements :D
add force connections for scans to points
add force pairs between non-adjacent scans
Replaced non-working asynchronous array modification workarounds with synchronised list system.  Seems to 'just work', though I'm not sure if there are performance trade-offs or the like, just it is a pretty direct and readable solution to concurrent modification issues I was facing.
we only need to add the one scan to trigger the complete scan adding process.  Much faster response time doing it this way, too!
more debug
attempting to work out how to resume graphics/engine when returning activity from the background - surprisingly complicated, this thread business :/