Cycle/Track purchasing

I added the old code for choosing a track and cycle, but improved upon
it with the new methods that have been made since.

It decides the best cycle by calling the getProfit() method in the plan.
It takes the cost of the cycle out of the profit, only if it needs to be
purchased.

I removed many of my old variables that are no longer needed, as well as
some of the newer variables that are now unneeded.

I added print lines for every cycle check and when they are chosen so we
can easily see if it has unexpected behaviours.

Once again, in theory this should work without issue. I'll start testing
and improving the code now.
Moved plan creation into its own method
Fixed a bug preventing opponent paths from creating