Move Sessions to non Node structure

This commit, in line with 7e860f1550c8686eec42f7a75bc5f2ef51e756ad moves
the session service over to the normal BMCWEB routes.  This is
relatively painless, with the exception of the fact that the previous
classes held members of the other classes in their struct.  This was an
attempt at a design pattern from very early on that never really worked
in practice, so it was largely abandoned, and now this is cleaning up
the last remains of it.

This commit accomplishes this by making two critical changes, first,
Delete /redfish/v1/SessionService/Sessions/<sessionId> no longer returns
the structure of the session that was deleted, instead returns 204
unmodified, which is very similar to what we do in other cases.  While
this is a breaking change, it's not clear what a user would even do with
a returned deleted session, so it seems really unlikely to break anyone.

This commit also creates a separate method to fill in a session object
with a given session details, such that the POST and GET methods can
share a single implementation.  This is more efficient than the old way,
as it prevents a double lookup from the session store.

Tested:
Tested redfish validator on system.  No new failures (UUID failure still
present)

Change-Id: If5d2b2c5a21af05ed0cb02a15bd1c1c976b8da12
Signed-off-by: Ed Tanous <edtanous@google.com>
diff --git a/redfish-core/include/redfish.hpp b/redfish-core/include/redfish.hpp
index 2ff7b62..e755c81 100644
--- a/redfish-core/include/redfish.hpp
+++ b/redfish-core/include/redfish.hpp
@@ -68,7 +68,7 @@
         requestRoutesRoleCollection(app);
         requestRoutesServiceRoot(app);
         requestRoutesNetworkProtocol(app);
-        nodes.emplace_back(std::make_unique<SessionService>(app));
+        requestRoutesSession(app);
         nodes.emplace_back(std::make_unique<EthernetCollection>(app));
         nodes.emplace_back(std::make_unique<EthernetInterface>(app));
         requestRoutesThermal(app);