Fleshed out combatant a fair bit

Note 1: large amount of comments since it's a draft and I don't know how
familiar everyone is with physics.

Note 2: It occurs to me that remote combatants should be a lot more
barebones, since they won't necessarily act on their own within your
client, so I'm going to divy up the classes a bit in my next commit, I
haven't decided what to call the second class (the one that actually
contains functions, etc?)