Pop extra keys from context in from_dict()

RequestContext.to_dict() adds user/tenant keys, but from_dict() spews
this warning a "Arguments dropped when creating context" if you pass a
dict which contains user/tenant keys.

Seems to make perfect sense that from_dict() would remove these extra
keys. A test case ensures this won't happen for new arguments.

This is import for oslo.messaging because we deserialize request context
dicts into nova's RequestContext using from_dict().

blueprint: oslo-messaging
Change-Id: I0938f3c7c581383cbebc3a973d64454250f6ab8e
Merge "Pop extra keys from context in from_dict()"