Implement Redfish Sessions because some vendor implementations
have disabled basic auth and require a Redfish Session to access
resources.
This was done by creating the following objects:
SessionService, SessionCollection and Session,
BasicAuth, SessionAuth, SessionOrBasicAuth
Session state is managed internally by ourselves.
Unit tests have been updated accordingly.
Closes-Bug: 1695972
Co-Authored-By: Debayan Ray <debayan.ray@gmail.com>
Change-Id: I6623538383388caf1115a7c100b0f97e73df69d9