8. Yes, walking on a wall would consume a turn the way it is now. I'd like it not to.
The program doesn't currently have support for multi-keystroke commands. Also, checking whether there's a mountain or something would be done in the movement code, yet that doesn't have access to the input system.
You need to fix this first, before anything else in the input system. Even if the game doesn't have any commands that require more than one keypress, you need to be able to process a key without consuming a turn. One way to do this is to have the function return true if the keypress completed a valid command, and false otherwise.