Remade API calls into a more pythonic, transparent format -- APICall objects.
Created dynamically, these objects maintain a hierarchy between themselves and appear to be standard Python modules, classes and functions. If an API works, it's saved for the session, making it easier for interpreter sessions.
Made type comparisons more inheritance-friendly by using "issubclass" instead of "type".
Added cache-management functions: "store" and "expire". Will soon be used instead of raw cache-editing.
Fixed APIConnection.call by bringing back the old QUERY_TEMPLATE. (It originally moved to APICall)
APIConnection is still obsolete and will be eventually removed, after everything is converted to the new format.
Added game ownership to Steam apps. Now, we can find out whether the currently-played game is owned by the user playing it or someone else.
Added game association to apps. If a game is fetched through a user, it will be come bound to that user and calls to user-specific data like "SteamApp.achievements" will retrieve standard *and* specific data (like which achievements are unlocked).
Changed "is_achieved" to "is_unlocked". Game achievements are unlocked, not "achieved".
Merge branch 'master' of https://github.com/smiley/steamapi