steam-api: fixed custom profile URLs causing request failures

Some requests are sent to sub-URLs of the user's profile URL. As of now,
the plugin just assumes that the profile URL is the default SteamID URL.
However, this is not the case as a user may have a custom profile URL
specified. The Steam Community does not mirror the pages at both URL
locations, but rather redirects to the proper profile URL. Since the
plugin's HTTP interface ignores redirections, any request using the
profile URL will simply fail.

This issue has been resolved by storing a SteamUserInfo in the SteamApi
for the user. The SteamUserInfo is updated on login, and during polling
operations.
steam-http: fixed memory leak with resending requests

It is possible for the SteamHttp interface to lose track of a request
that is waiting to be resent. This is typically only seen when freeing
the SteamHttp while there is a SteamHttpReq being resent. The request
should not be removed from the SteamHttp until it is actually finished.