interesting new optimzations

notably boolean EmptyEnemy[2] for finding out about squares and boolean
ValidBreak[2] for long-range moving pieces