first implementation of door features

doors back a certain exit, exist in both rooms that exit connects,
and can be opened and closed to open and close that specific exit.

There's some functionality for keys, but I haven't tested it, and I'm
not too sure about how to implement it.