Make Room class responsible for handling listings

See room.h for a short description of the new information flow.
Merge branch 'listings'