Make Schema Fetching thread safe.

This uses a mutex to allow for safe updating of the schema
by one and only one bot thread or process. Other bot threads
have to wait until its updated before reading.
Extend add crate command to take series number.

Also, implement removing of all items from a trade with the remove command.
Cleaned up some of the help messages as well.

Conflicts:
	SteamBot/AdminUserHandler.cs - resolved by hand
Use Event Wait handle instead of mutex.

This construct is more appropriate because it acts like a gate.
The threads waiting to read can all read in parallel once the writer is done.
Added Crafting, SetGamePlaying() method

All Crafting code is located in Crafting.cs; SetGamePlaying(int id)
allows developers to tell Steam the bot is in game with AppId X (TF2's
is 440)
Fixed MsgCraft's capitalization styling
Merge pull request #279 from cwhelchel/feature/addcrateseries

AdminUserHandler Feature Updates.
VS Express solution support

It's somewhat inconvenient for some people to have to edit solutions
themselves that were made with non-express VS versions. Considering
that they are forward compatible (VS 2012 will open solutions with
VS Express 2010 headers) it may as well be in upstream for the sake
of access.
Proper log line for SteamGuard prompt

This probably should have been changed along with my initial
patch but I was looking for the smallest changeset. Sorry about that.
This makes it unambiguous and points to the auth command instead
of making it looks like it's prompting for direct input
Add required protobuf reference (see 56aa750)
Merge pull request #288 from Lagg/picky-fixes

Picky fixes - A couple non-critical (and one build breaker) fixes
Merge pull request #278 from cwhelchel/fix/issue262

Make Schema Fetching thread safe.  Fixes #262.
Added item deletion; changed item management

All TF2 Game Coordinator related things are in the namespace
SteamBot.TF2GC
Changes `AutoStartBots` setting to `AutoStartAllBots`

Fixes #293
Made SetGamePlaying public
Merge pull request #294 from FunkyLoveCow/setting_name_change

Changes `AutoStartBots` setting to `AutoStartAllBots`
Fix for high CPU usage.

When bots are in separate process mode the bot had an empty loop to keep the console open and the process alive. This needed a sleep so it didn't peg CPU time.
Merge pull request #313 from cwhelchel/fix/highcpu

High CPU fix. Closes #290
Updates SteamKit2
Closes #217
Moving items and inventory position portions

For an explanation of PositionClassesDescriptor, see
http://wiki.teamfortress.com/wiki/WebAPI/GetPlayerItems "Inventory
Token"
Added Group chats, OnLoginCompleted() to handlers

A group chat can be joined by:

SteamFriends.JoinChat(SteamIDOfGroup);