BA: reduce builder zigzagging

- remove tacnukes from taskqueues (until a decent way to target blobs of
units)
- fix assisthandler.lua bug
- scale distance away a builder will go to build something with building
cost
BA: add rudimentary enemy prediction, w/o causing anything to happen yet
- move ThreatRange to commonfunctions
- add tacticalhandler to predict enemy positions
- change many commands to CustomCommand
- make targethandler pass around tables of unit info w/ unitIDs, not IUnits
- remove lvl2 storage (it's always a waste, right?)
- remove tacnukes from taskqueues (until a decent way to target blobs of units)
- fix assisthandler.lua bug
- scale distance away a builder will go to build something with building cost
BA: implement basic preemptive defense

- switch defendhandler to use runfromattack behaviour, and speed it up
by making it use runfromattack's underfire rather than sending a danger
signal. make danger signal only for buildings (i.e., turtles)
- make defendhandler and defendbehaviour use turtles as defendees. use
the intersection with the edge of turtle to determine where defenders
should be placed.
-  add a registry of turtlesByUnitID so that Danger() will add the
associated turtle as a defendee instead of the building itself (which is
a terrible behaviour)
BA: make predictive defend do something
BA: fix more defender stuff

- fix major angledistance bug
- put guards in a perpendicular defensive line instead of a blob
- comment out guarding cons at all. might be an improvement, because the
guards protect their planned construction
BA: overhaultargethandler, fix amphib issues
BA: fix mapdata filename issue
Merge branch 'master' of https://github.com/Tarendai/Shard