Working On Documentation and refactoring

Unfortunately given only 2 days to finish I thoroughly program a mess.
Trying to backtrack, clean up and document it.
Added Class Method constructor

Objects are created by passing in the object dictionary from map.json
to the alternative constructor create_from_dict. Eliminates the need
for special cases in game.py and keeps constructor logic in the class.
Basically, I got tired of the horrible function that was load_map
Extensive rewriting of the data devices

Eliminated a lot of redundant code and delegated a lot of the functions
to the parent classes.
Finished dynamic loading from map.json

The horribleness that was load map is made a bit better with each game
object having a cread_from_dict class method that reads the dictionary
from the map file itself. No more one off functions to deal with weird
objects like stairs or doors.
Using create from dict on the client side
Documentation, Documentation everywhere

Last commit aside from maybe an updated read me. But I’m done,
finished, concluded, finito. There is ALOT of work that could be done
but the deadline is passed. I’m happy with what I got done in my spare
time and I am excited to see what I could make given more time.