Better error messages on denied user
Refactored internal functions to use Door model over door_id

Many internal functions previously used to pass door_id
(an Integer) instead of the Door model. This resulted some
problems with debugging output as the door name could not
be obtained in places where I wanted to log the door name
in human readable text to log files.