Make the request object API aware

The patch makes the Request object aware of the API but not dependent on
it. This gives to the Request object - and to the each transport
implementation - more information about what the current operation is
suppose to do, what params it accepts and what methods it can handle.

For example, a transport could use the API info to build the final URL
based on the ref specified there.

Partially-Implements blueprint python-marconiclient-v1

Change-Id: I4ab1e2815807327706390aad4223c665a0ebeeda