Kick decider (and fall down detector fix)

Takes the kick decider a little further.

Now the decider holds an array of functions to be used as filters to filter out kicks that we shouldn't choose. Three filters are implemented: the inBounds filter, the crossesGoalLine filter, and the inBoundsOrOnGoal filter. We use these to filter out kicks when we do no-orbit kick deciding.

Also simplifies the math for calculating a global heading for kick alignment when given a place to kick the ball to. Fixes bugs related to angle normalization in a couple of places.

Also includes a small fall down detector fix to keep robots upright after doing sweet moves.