Adds IsFreeToPlay() To Inventory.cs #67

Creates a method to check if a user's inventory is free to play. This
fixes Issue #67: https://github.com/Jessecar96/SteamBot/issues/67

Tested on my inventory, and a free to play's inventory.

This does take into effect the comment of a Free to Play can use
Backpack Expanders.
Revert "Adds IsFreeToPlay() To Inventory.cs #67"

This reverts commit 0b0c85fdb8c8f951e3de1a2e3f1ecf52e9cdbb49.
Adds IsFreeToPlay()

Adds a function to determine if a user is FreeToPlay or not.
Merge pull request #179 from gamemaster1494/ExperimentalThings

Adds IsFreeToPlay() Function In Inventory.cs
float_value attribute allows user to get the number of a crate in trade
contained_item attribute allows user to get the contents of a wrapped gift item in trade
Changed contained_item type to Item
Moved contained_item to its proper place
Merge pull request #195 from waylaidwanderer/edits

Changes to Inventory.cs
Updated SteamKit2 dependency to fix long connection times on startup
Merge pull request #197 from waylaidwanderer/master

Updated SteamKit2 submodule
Added functions to get inventories when not in a trade
Added functions to get inventories when not in a trade
Merge pull request #201 from waylaidwanderer/changes

Access inventory when not in trade (fixes #193)
Adds a Bot Manager

Also cleans up the program.cs quite a bit and adds a bit more error checking than before.

Finish initial feature set for bot management.

New stuff:
- Add command line args to main SteamBot.exe (using NDesk.Options)
- Bot manager spawns child procs each of which runs it's given bot.
- Add user interaction to bot manager command line interface. Users can start and stop bots, and show config.
Modified stuff:
- Separate callback thread from Bot ctor (use Bot.StartBot) for cleanliness.
- Configuration objects got ToString
- Log threw exceptions in finalization. Use IDisposable to play nice.

Expansion of Bot Manager for threaded bots.

Adds support for launching all configured bots in their own threads.

Also adds much needed error handling to these threads so when one bot crashes the others don't. This is accomplished by using a BackgroundWorker object.

Had to add a window to retrieve steam guard code for threaded bots. There was no way to get auth tokens input when each bot's output is interleaved into one console.
Fix project build order in VS and MD.

Proto-buf MUST be built before Steamkit.

For MonoDevelop (Xamarin Studio) the order of projects in the solution seems important. MD has no GUI for editing build order so this seems to be the only way to specify it.

The MD changes do not break VS2010 support. But the visual studio GUI for build orders was used to change the build order. (VS wins this round).
Replaces Current Trade Event Checking Fixes #219

This changes the current way of checking events processed. Instead of
having a number, and using a for loop, this adds the events that are
processed into a list. Every time a status is obtained, it checks every
event to make sure it hasn't missed anything. I did have to add a method
that checks if the list contains the event, as List.Contains() was not
working, and kept triggering the events multiple times.

Ever since I have put this in, the bots have not missed any removing of
items, and it has been well over a week, with a decent amount of trades.
Merge pull request #229 from cwhelchel/fix/build-order2

Fix project build order in VS and MD.
Add New Configuration Option to Template.

Also add a newline to the end of a file.
Implements Use Of IEquatable<>

This updates the TradeEvent to use IEquatable<> to allow .Equals to be
overridden, so checking if the TradeEvents list contains an event.