Add base resource class

This has been describes as closer to the ORM approach whereby the
resource contains all the information on how to communicate with a
server.

It is intended to be a relatively low level interface on which other
things may be built. So I expect some helper wrappers will be built at a
later time.

The manager in this commit is no longer a requirement, but it shows how
you can keep the current client pattern of managers and remove the
manual handling of session objects.

Change-Id: I46678215063c31928c0b372c039ed020bed837c9
Merge "Add base resource class"