Refactor adventure into rooms, objects, & properties

 - Room and Object parent classes, and Property classes
   - Properties are associated with objects (e.g. lamp is lightable)
- Specific objects inherit from both Object and Property classes
   - e.g. class Lamp(Object, Lightable)
- Rooms contain objects (along with other properties like name, description, exits)