Lots of work done to generate bearing off moves
Merging master and bearing_off branch