zobrish hashing

works will do update to it when i get back, for now it just recalculates
completely