Add better error handling

 - Define all verbs on base Object class as errors (i.e. "You can't <verb> this object.")
 - Properties can then override specific methods
 - Prevents an error being thrown if user tries to access a method that has not been defined on that object (e.g. 'open lamp')