Use a fixed size array instead of a dictionary

Since there are 64 squares and there will always be 64 squares, use a simple array to keep track of pieces instead of a dictionary. This is inefficient in space, but faster in time as the lookup/hashing function is simply casting the location (an enum) to an integer.