Have ipmi session objects reuse themselves

When multiple session objects would be created by calling code,
avoid creating a conflict on bmc_handlers that would result
in trying to use a corrupt instance.  Either it reuses the
existing object, or else it detects that some parameters are
different and erases old pointers to the now defunct instance.

Change-Id: I883934ae984b2ad0369458bea15f62862c6e97ca