Rewrote movement code, and removed loop_checks



Loop_checks dislikes infinite loops which is how the movement stuffs
function. As a result, they have got to go. ~

I also rewrote it to use while (TRUE) as opposed to a bunch of if statements
which call the proc over and over and over. Recursion was a silly.