Refactored a bit on Async stuff, hopefully fixed the problems with AsyncIF this time
* Run() now calls OnStart() as some tags do default params there (SafeMoveTo for example)
* Wired up PathPrecision and Points attributes to ClearAreaTag
* ProfileSetting set by profile now persist until bot START/STOP buttons clicked.
Changes to AsyncIf, NewBaseComplexNodeTag, LoadLastProfileTag
* Refactored AsyncIf IsDone
* Fixed NewBaseComplexNodeTag firing OnChildStart more than once
* Fixed Exception in LoadLastProfileTag
Refactored IAsyncProfileBehavior
* Simplified IAsyncProfileBehavior to 3 methods
* Any tag can implement IAsyncProfileBehavior to enable it to run in BotBehaviorQueue
* Only replacing DB default tags with wrapped versions.
* Support for nested tags IF/While inside BotBehaviorQueue
Fixed Conditions Exception + misc minor enhancements
* Fixed exception with invalid param index on some conditions
* Changed 'Children' for setter access, ie. new AsyncIf { Children = new List<ProfileBehavior>{ ... } }
* Added some goodies to CachedActor
* ClearAreaTag: implemented IAsyncProfileBehavior
Fix for accessing CurrentLevelAreaId too fast causing hanging and pauses.
Small fixes for MoveToActor
Merge branch 'master' of git.assembla.com:questtools
GetItemFromStash will now only collect a single greater rift key of appropriate level depending on rift key order (use highest first setting)
QTOpenRiftWrapper will now check to see if the Rift Portal is already open (and act accordingly if so)
Renamed Profile behavior tag .cs files
Fixed TrinityApi
Removed [TabUI] from logging when using QuestTools tab to generate profile tags
Logger.LogError renamed to Logger.Error (to match other method names)

Updated XMLDocs to make it clear that TrinityApi needs the "full name" for a type
Additional logging for the two TrinityApi usages
Added Boolean condition type and associated logic
Merge branch 'master' of git.assembla.com:questtools
Added IfIntersectScene, IfActorExists, DumpEnvironment to QuestTools tab
* Added raw logging option so that you don't have to manually remove all the [TabUI] bits when making a profile.
Fixing LogMessage in IfSceneIntersects and IfActorExists TabUI buttons
Added Conditions, Fixed ShuffleTag and ProfileHistory
* Made ShuffleTag work again it was broke.
* Added some conditions Difficulty, Class and Level
* Fix for ProfileHistory doing weird things
Added timeout to couple tags, fixed ShuffleTag, added key related conditions.
* Added timeout to ClearAreaTag, TownPortalTag
* Fixed ShuffleTag not being done when children finished
* Added a bunch of conditions related to key counts
Reenabled log spam limiters

Fixed TrinityApi GetProperty never returning a value
Some additional checks for rift portals in QTOpenRiftWrapper