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.
Update README.md

Adds configuration settings to README.md
Adds description of available (and functioning) commands.
Merge pull request #1 from FunkyLoveCow/patch-1

Update README.md
Fixed Comments And Spelling

Fixes some comment conflict and a few spelling errors.
Merge pull request #236 from gamemaster1494/ExperimentalThings

Replaces Current Trade Event Checking Fixes #219
Merge pull request #228 from cwhelchel/feature/bot-mgr2

Adds a Bot Manager
Close and warn on all trade failures
Rewrite of README.md

More changes

Remove Parens to fix link.
Add Bot Administration Section.

Also removes redjazz96. Guess he's tired of people adding him =P
Merge pull request #243 from cwhelchel/fix/readme

Rewrite of README.md
Merge pull request #240 from kxsong/kxsong

Close and warn on all trade failures (fixes #227)