Changed system to use Margin Models, removing leverage wherever possible allowing for dynamic margin models.
Created first portfolio fill model for FOREX which treats it as a currency swap through the cashbook instead of a tradable asset.
Updated the Securities/SecurityPortfolioManager to use cashbook value + holdings removing FOREX virtual positions.
Created a new benchmark system for comparing quantconnect builds.
Cleaned up ResolveConsolidator try/catch
Cleaned up some names/comments
Modified error message
Updated to allow more derived types pass check
Example algo for consolidators on multiple symbols
Includes new AddData<T> overload to accept fillforward and leverage parameters
Moved the clone implementation in BaseData to ObjectActivator
Added some test BaseData types that can be used as custom data but just patch through to default data locations
Also includes some performance tweaks to sleep certain tight looped threads
Also includes changes to mark data as fill-forward via Clone(bool fillForward), BaseData.IsFillForward property