access remote resource attributes via hash getters and setters (inquiring with key?) rather than methods (inquiring with respond_to?)

If ActiveResource receives 304 Not Modified, its attributes are all empty. Because ActiveResource defines an 'id' field, it _appears_ that it _has_ an 'id' and that the 'id' is nil. We can't ask ActiveResource if it responds to 'id' to find out if it has an 'id. Instead, we call 'key?' and use hash accessors to fetch all attributes (including 'id')