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
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.
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