Merged Full SmurfX changes
Included is -
Basic 'Safe' end trial routine
Working Gem upgrade based on minimum percentage
Fall back to Upgrade Keystone when no gems are applicable
A rough 'Max Greater Rift level' function and UI (Pretty much ninja'd the slider from Trinity) which is working when using UseLowest due to DB restraints.
Working Use lowest key option
Updated the Minimum upgrade percentage UI drop down to all actual percentages 100% -> 1%
Disabled -15 level difference upgrading (Diablo blocks -15 via the UI)
Possibly some other fixes
tweak safe trial
(CurrentWave >= maxWave
KNEW I WAS RIGHT! - You had me doubting myself when you removed the _isGemsOnly Boolean used for logical checking to force gemupgrades encase of expired timer + no gem matching minimum requirements
Upgraded safe Trial - reduce combat range while disabled
Merge remote-tracking branch 'remotes/MainBranch-rrix/master'
Removed over complicated logic checking
Merge remote-tracking branch 'remotes/MainBranch-rrix/master'

Conflicts:
	QuestTools.cs
Merge remote-tracking branch 'remotes/MainBranch-rrix/master'
Merge remote-tracking branch 'remotes/MainBranch-rrix/master'
Merge changes from HitmanReborn - https://www.thebuddyforum.com/demonbuddy-forum/plugins/trinity/179214-trinity-2-1-21-questtools-2-1-38-a-post1659748.html#post1659748
Merge remote-tracking branch 'remotes/MainBranch-rrix/master'

Conflicts:
	UI/ConfigWindow.xaml
correct config box for duplicate 1%
Merge remote-tracking branch 'remotes/MainBranch-rrix/master'

Conflicts:
	QuestTools.cs
Merge remote-tracking branch 'remotes/MainBranch-rrix/master'
Refactoring and Fixes on ConditionParser
* ConditionParser: Hooked up DB Parser to work on Default expressions
* ConditionParser: Changed it to use reflection on conditions
* ConditionParser: Fixed deep nesting of parens
* ConditionParser: Reorganized and refactored most things.
* ConditionParser: Grouped related files into SubDir
* Implemented IAsyncProfileBehavior on BaseComplexNodeTag
* Moved logging on ProfileHistory to debug
* Reduced logging on AsyncIfTag, AsyncWhileTag
Merge branch 'master' of git.assembla.com:questtools
* Removed ConditionParser
* Moved all our new conditions to a CustomConditions class for handling by IronPython/DB Parser
* Renamed everything 'Async' to 'Enhanced'
* Tidied up and moved things around.
Fix renamed Conditions.cs -> CustomConditions.cs
Merge remote-tracking branch 'remotes/MainBranch-rrix/master'

Conflicts:
	ProfileTags/GetItemFromStashTag.cs
	ProfileTags/QTOpenRiftWrapperTag.cs
Revert "Refactoring and Fixes on ConditionParser"

This reverts commit b5dafa060ea6c477037165109f320ecb5317bde3.