Added TradeComplete method
Cleaned up files
BUGFIX: GenericInventory crashes if you attempt to load it twice
BUGFIX: Web commands throw exceptions rather than retrying (or returning false...)
BUGFIX: TradeSession.AcceptTradeWebCmd was still incorrectly returning false sometimes
Minor code cleanup
BUGFIX: Sometimes the "Are you AFK" message gets fired multiple times (or not at all, depending on the polling interval)
BUGFIX: Trade sometimes crashes if the user-handler doesn't do a Poll() immediately before calling Trade.Ready().  However, there is no reason they should have to remember to do that (even AdminUserHandler forgot it..)
Simple code cleanup
BUGFIX: SteamWeb.Request sometimes returning HTML instead of json response.

Also updated the useragent because reasons.
BUGFIX: Removing an item by defindex crashes if we have a non-TF2 (GenericInventory) item up for trade
BUGFIX: If the trade disconnects while the bot is polling, the program will crash in CheckTradeTimeout()
BUGFIX: By adding items from some games (such as Spiral Knights), user can consistently cause the bot to crash.  THIS IS A BREAKING CHANGE :(
Also, unexpected side-fix:  Trade.GetItemFromPrivateBp() appears to have been incorrect.
BUGFIX: Lower the timeout, properly dispose request objects, use UTF-8 encoding
Fixes a typo.

Sorry, but this bugged me a lot when reading through the source ;)
Merge pull request #526 from haihappen/patch-1

Fixes a typo.
BUGFIX: Inventory.GetItem() crashes if user has no TF2 inventory
Merge pull request #520 from BlueRaja/Bugfixes

Bugfixes
Merge remote-tracking branch 'remotes/waylaidwanderer/TradeComplete' into OnTradeSuccessful
Rename trade OnComplete to OnSuccess, and make sure it's always called