Round CashTick pos to the nearest int.
Fix white lines at the bottom of units.
Fix and rewrite contrails. Closes #3457.
movement equivalence classes

These can be used as a basis for a bunch of pathing optimizations.

- Feasability of movement can be precomputed for each class, avoiding
  the worst-case pathfinding behavior

- A path could potentially be shared between all members of a class.
  This isnt necessarily the best path for any single unit, as it
  doesn't care about efficiency of movement across various terrain --
  but it would be a "reasonable" path that the whole group could take
  together.

- General pathing checks can be converted from intersection of sets of
  strings to a simple AND.

- Other, wilder things.

V2: be paranoid about too-long bit vectors.
Merge pull request #3474 from chrisforbes/movement-equiv-classes

movement equivalence classes
Merge pull request #3472 from pchote/renderer-regressions

Fix renderer regressions
Fixes #3336.
Remove unused spectator ready checkboxes.
Set spectator color to white & remove selector.
Merge pull request #3475 from pchote/startgame-fix

Startgame fix and observer tweaks.
Reduce RA oil derrick capture bonus from $500 to $100
Merge pull request #3477 from ScottNZ/bleed

Reduce RA oil derrick capture bonus from $500 to $100
Cancel make animation if the building dies. Fixes #3464.
Handle failure cases of Socket.Send. Fixes #3455.
Merge pull request #3480 from pchote/server-fix

Handle failure cases of Socket.Send.
Merge pull request #3479 from pchote/conyard-fix

Fix zombie MCV bug.
Add temp banning to servers
Merge pull request #3456 from ScottNZ/lobby

Add temp banning to servers