Implementing Zone, refactoring

*refactoring some code (some selection logic moved to the card objects)
*implementing zone features
*added functionality for Locations to be used by input adapter for card
searching