refactored how optimal locations are calculated to be it's own method. this also lets me start the AI calculation by looking at the current cell so the character won't move unless the new cell is better than the current cell. this prevents the characters from wandering every turn
further refactoring of the movement AI to break the functions into sub functions
changed how enemies are calculated to return a list, rather than a count. this is because i would one day like to weight enemies based on priority so that a smarter AI will target specific enemies first, such as healers.
added beginning functionality for calculating how risky a square is for AI considerations