23/4/20
Major:
Re-wrote stack clearing code so bot should never have nothing to do, and should almost always be doing the most recent thing the decision making codes decides to do

Stack is now cleared whenever decision making code decides bot should be do something else unless: going for kickoff or shooting and close and (agent.me.airborne or me_onside or agent.me.location.y * side(agent.team > 2500 * -side(agent.team)). This is to prevent bot cancelling a shot when it's already committed.
Changed goalie code a bit so goalie = False only if not(onside and closest to ball). This means as soon as goalie is closest to ball (and onside) it will go out for a shot, but not before. Removed only if distance > 6000 or kickoff as those aren't needed anymore.
Added fast kickoff for off_centre kickoffs (all my fast kickoffs are based on this video https://www.youtube.com/watch?v=q4WDvcNdbD0&t=182s)
Minor:
Bug fix: bot would sometimes be a goalie in 1 v 1s when it's not meant to, resulting in the stack being cleared and bot doing nothing. This was due to one of the places where checking if should be goalie using closest_to_friendly_goal rather than goalie, which is only true of len(agent.friends) > 0
Added very_close variable because I wanted distances where bot moves away from ball to prevent scoring own goals and distance where bot wouldn't cancel shot because already committed to be different. So now very_close is used for the own goal preventing and has a range of 500, while close is used for not shot cancelling with a range of 1000
Changed some paint colours and made DemoBot look the same as FormularBot (as opposed to looking like an older version. At some point I will design DemoBot properly so it looks different)
