Separated code into different, more logical files

Separating the ideas, even though most rely on the map representation
stuff.. I have no idea how to abstract away the structure from the
implementation of the other code, yet.
Adding file for user input functionality
Updated Documentation page and renamed it README

README being the name is a requirement of the project. Documentation
will eventually be made to describe the actual functions used in the
project, not how to play the game
Updated map3
Having all functions in 1 file is requirement