Add plane repulsion

This adds the long-overdue repulsion for planes which adds polish and addresses some gameplay issues.
There's supposedly an issue with repulsion which can throw aircraft heading to land, but I haven't noticed this in my testing. If someone can repro it I can look at addressing it in this patch. 
`foo / foo.Length` is going to throw away all of your precision: `(768,512,0) / sqrt(768^2 + 512^2) = (0, 0, 0)`.

You can pull the divisions outside the dot product to reduce this.