Add TradeManager Class.

This class should handle setting up trades, fetching inventories,
trade polling, trade timeouts and other things the trade object
should not be handling.

- This also addresses some inventory fetching issues as well by
adding more user interactions on fetching exceptions.
- Has a separate fix for users of Bot.OpenTrade who expect it to
work as a bot-initiated trade.

Add TradeThread Partial File.

- This will handle a Trade's threading and remove it from the Bot.
- Also made starting trades cleaner with the first call to Poll.

Flesh Out Trades and TradeManager

- Fix issues with private backpacks by checking Inventory correctly and
rejecting trade w/ private bp
- Made some trade data static since it was really static.
- Remove inventory fetching from Trade
- Add InventoryFetchException

Add TradeManager Comments

- Also rename FetchInventories to InitializeTrade so that it's more
obvious that it should be called before StartTrade.

Add Comments to TradeManager

Move Trade Thread Into TradeManager.

- Move time out stuff into TradeManager as well.
- Move some events as well (probably need to move more).
- Format Trade.cs
- Remove all functionality from TradeThread.cs (remove file next)

Remove TradeThread.cs From Project.

Fix Trade Accpet and Cancellation

- Fix by removing event handlers and tracking current trade in
TradeManager and adding a StopTrade also.
- Move Subsribe/UnsubscribeTrade from UserHandler into Bot.
- UserHandler.Trade is now a property that returns the Bot's current
trade.

Updates the Version Numbers for Projects.

- SteamBot(ExampleBot) and SteamTrade

Fix for OpenTrade.

- Had to create a seperate HandleTradeSessionStart that did what
OpenTrade used to do.
- OpenTrade now does the SteamTrade stuff (which opens a trade with
someone else as expected).
- Add some more logging.
Update SteamBot/Bot.cs

Fixes issue #100. In Linux file names are case sensitive. The bug described in issue #100 cause Bot to not find existing sentryfile.
Merge pull request #118 from lazy1/patch-1

Fixes sentryFile lower case file name on linux
Minor Fixes.

- Also formats UserHandler and adds comments.
More Minor Fixes.

- Removed the Trade param to StopTrade (some sort of indicator may be
needed if multiple trades are to be handled at the same time).
- Fix typo and add some comments.
Added schema caching to Schema.cs
Added schema caching to Schema.cs

How it works:
Schema web connection is opened and headers read.
If cache file is not present or its creation time is older than "Last-Modified" of web schema Schema is pulled from api.steampowered.com, put into cache file and  cache file creation time is set equal to Schema Last-modified.
If cache file is present and is up-to-date the Schema is downloaded from the file.
Merge pull request #116 from cwhelchel/feature/trade-mgr-squash

Add TradeManager Class.
Add TradeManager Class.

This class should handle setting up trades, fetching inventories,
trade polling, trade timeouts and other things the trade object
should not be handling.

- This also addresses some inventory fetching issues as well by
adding more user interactions on fetching exceptions.
- Has a separate fix for users of Bot.OpenTrade who expect it to
work as a bot-initiated trade.

Add TradeThread Partial File.

- This will handle a Trade's threading and remove it from the Bot.
- Also made starting trades cleaner with the first call to Poll.

Flesh Out Trades and TradeManager

- Fix issues with private backpacks by checking Inventory correctly and
rejecting trade w/ private bp
- Made some trade data static since it was really static.
- Remove inventory fetching from Trade
- Add InventoryFetchException

Add TradeManager Comments

- Also rename FetchInventories to InitializeTrade so that it's more
obvious that it should be called before StartTrade.

Add Comments to TradeManager

Move Trade Thread Into TradeManager.

- Move time out stuff into TradeManager as well.
- Move some events as well (probably need to move more).
- Format Trade.cs
- Remove all functionality from TradeThread.cs (remove file next)

Remove TradeThread.cs From Project.

Fix Trade Accpet and Cancellation

- Fix by removing event handlers and tracking current trade in
TradeManager and adding a StopTrade also.
- Move Subsribe/UnsubscribeTrade from UserHandler into Bot.
- UserHandler.Trade is now a property that returns the Bot's current
trade.

Updates the Version Numbers for Projects.

- SteamBot(ExampleBot) and SteamTrade

Fix for OpenTrade.

- Had to create a seperate HandleTradeSessionStart that did what
OpenTrade used to do.
- OpenTrade now does the SteamTrade stuff (which opens a trade with
someone else as expected).
- Add some more logging.
Update SteamBot/Bot.cs

Fixes issue #100. In Linux file names are case sensitive. The bug described in issue #100 cause Bot to not find existing sentryfile.
Minor Fixes.

- Also formats UserHandler and adds comments.
More Minor Fixes.

- Removed the Trade param to StopTrade (some sort of indicator may be
needed if multiple trades are to be handled at the same time).
- Fix typo and add some comments.
Updates README.md

Clarifies the download methods available.
Merge remote-tracking branch 'upstream/master'
Update SteamTrade/Schema.cs

Fixed indentation, changed cache file name.
Change Output Path of SteamBot.

- Output path now matches documentation. Goes to <projectroot>/Bin
- Update README with more information and remove old information.
- Remove old SLN file and add a configuration template file for release
builds.
Added extra error checking before adding item to trade
Merge pull request #136 from Payme/master

Extra error checking before adding items to a trade
Fix for wrong bot behaviour being used.
Merge pull request #134 from cwhelchel/fix/cfg-file-loc

Fix for bad placement of config file.