Load the session from the store.
        session_id can be:
        - None: load from cookie
        - '': create a new cookieless session_id
        - a string which is the session_id to be used.

def load(self, session_id=None):
        """ Load the session from the store.
        session_id can be:
        - None: load from cookie
        - '': create a new cookieless session_id
        - a string which is the session_id to be used.
        """

        if session_id is None:
            cookie_name = self._config.cookie_name
            self._data["session_id"] = web.cookies().get(cookie_name)
            self._data["cookieless"] = False
        else:
            if session_id == '':
                self._data["session_id"] = None  # will be created
            else:
                self._data["session_id"] = session_id
            self._data["cookieless"] = True

        # protection against session_id tampering
        if self._data["session_id"] and not self._valid_session_id(self._data["session_id"]):
            self._data["session_id"] = None

        self._check_expiry()
        if self._data["session_id"]:
            d = self.store[self._data["session_id"]]
            self.update(d)
            self._validate_ip()

        if not self._data["session_id"]:
            self._data["session_id"] = self._generate_session_id()

            if self._initializer:
                if isinstance(self._initializer, dict):
                    self.update(deepcopy(self._initializer))
                elif hasattr(self._initializer, '__call__'):
                    self._initializer()

        self._data["ip"] = web.ctx.ip