Implement message passing and method calling

object::send_message now looks up the requested attribute and throws
an exception when it couldn't be found.
method_implementation::send_message calls object::send_message when
the selector is not "call", for completeness' sake.

call_method will try to find a method_implementation, and if that could
not be found, it will eventually throw a bad_selector exception.