Moves sentryfiles and logs to dedicated subdirectories

This commit creates subdirectories for log files and sentry files. This cleans the running directory of scattered files and makes migrating specific bots easier.
Renames `PendingInvitee` to `RequestRecipient`, cleaning obsolete warning
Updates Travis YML to compile subprojects

Fixes #380
Merge pull request #381 from FunkyLoveCow/travisfix

Updates Travis YML to compile subprojects
Merge pull request #378 from FunkyLoveCow/fixobsoleteenum

Renames `PendingInvitee` to `RequestRecipient`, cleaning obsolete warnin...
Merge pull request #377 from FunkyLoveCow/subfolders

Moves sentryfiles and logs to dedicated subdirectories
Adds code to fetch foriegn inventory for trade.

Also removes some private inventory checking and adds an additional check for web errors when trading.
Fetching is working and now must implement using the foriegn inventory.

Adds ForeignInventory class.

To help with the JSON returns from the trade api call of the same name. Also use it correctly in Trade

Implement the removal of items with foreign inventories.

Testing with a private BP seems to work. Also, adds comments.

Conflicts:
	SteamTrade/TradeSession.cs

Add ForeignInventory.cs to project.

Adds using for steam kit

Conflicts:
	SteamTrade/Trade.cs

Start logic for using version number rolloverst to get trade assets. WIP.

Cleanup and comment.

Move TradeSession.cs into a webapi folder. About to refactor this out also.

Refactored out tradestatus api result into its own class.

Also make TradeSession a class and pass in needed state (also extend to use appId instead of hardcoded to 440)

Use new TradeSession for the trade web api interaction.

Also fix validation for new way of getting offered and steamMyOffered items

Cleanup Trade.

Remove apikey from Trade ctor and refactor and rename some methods.
Add comments to/cleanup TradeSession and Init it on construction.

Remove some debugging statements.
Merge pull request #384 from cwhelchel/fix/trade-scam

Big trading fix.
status.trade_status converted to a Switch/Case instead of if statements.
This fixes the bot failing to close trades that have ended.
References a portion of #393, Fixes #390
Remove duplicate conditional
Prevent the trade from crashing when an out-of-schema item is added

Fixes #390
When merged with #405, this will supersede #393.

Also fixes a copy paste error in #393 in the FireOnUserRemoveItem function.
Merge pull request #405 from FunkyLoveCow/Branch_failclose

status.trade_status converted to a Switch/Case instead of if statements.
Code style changes
Removes todos and prints to console
Adds "exec" command and other BotManager tweaks.

Allows commands to be given directly to bots via the BotManager
console.This command is handled in the UserHandler's `OnBotCommand`.

Other changes include threading the BotManager commands and
slightlychanging the way accounts are authorized while
`UseSeparateProcesses  = true`.

Extended functionality of the "start", "stop", and "auth" commands to
allow usernames as well as indexes.

Also fixed the `Console.Title` being set to the last bot to be
configured while in Separate Processes mode.
Readme update to include information about the subreddit
Merge pull request #428 from FunkyLoveCow/readme_update

Readme update to include information about the subreddit
Merge pull request #413 from FunkyLoveCow/Branch_nullitem

Prevent the trade from crashing when an out-of-schema item is added
Removes command threading. Username comparisons changed to ignore case.

As per suggestions, the bot command is no longer threaded, and a couple
conditionals are inverted. This also modifies username comparisons which
now use `StringComparison.CurrentCultureIgnoreCase`.
Sync update + Generic Update