added move calculation
some clean up and big addition of move generation, this move gen probably won't work, porbably will have to be a single giant function
lot's of updates, things are now using restrict properly. Be careful on aliasing