GenericInventory and SteamTradeDemoHandler FIXES

@GenericInventory
The change is a mispelling of the word "instanceid", since this was mispelled all instanceids were nulled.
Somehow this fixed it.

@SteamTradeDemoHandler
Note: most changes are made by Visual Studio 2012 itself so only check the changed below this text:

public override void OnTradeInit()
- added coupon support.

public override void OnTradeAddItem(Schema.Item schemaItem,Inventory.Item inventoryItem)
- added bot log warn / error message when a tf2 item or steam item is added. Just for debugging.

public override void OnTradeAccept()
- after trade is completed i fixed the error that people will get : There is already added an item with the same key
-- i did this with the usage of the clear method to clear both dictionaries (descriptions and items)

public override void OnTradeClose()
- i added this method in the steamtradedemohandler so that when the user cancels the trade it also clears the dictionaries as method above for same reason.

If things aren't clear please let me know.

P.S. i've talked about the issues before with gabrielmtzcarrillo
Fix: web-related crashes

Edited:
Bot.cs - BackgroundWorkerOnDoWork(...)
Added: other exceptions + restart
Don't output debug info to log file
Added a helper method "SendChatMessage" to make sending chat messages slightly simpler
Merge remote-tracking branch 'remotes/waylaidwanderer/TradeComplete'
Added the KeyUserHandler example
Added a property for "MyOfferedItems"
Merge remote-tracking branch 'remotes/TheAnthonyNL/master'

Conflicts:
	SteamBot/SteamTradeDemoHandler.cs
Added support for url and classid in GenericInventory
Added SendChatMessage(), SendTradeMessage, and SendReplyMessage to SteamBot project.
Give that this is a breaking change, it's probably best to never send a pull-request for this one...
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)
Removed the MonoDevelop.CSharpBinding reference
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
Added a 'OnBotsTradeRequestRejected' callback to UserHandler