Core/Script: Code style and some rewriting.

MoveInLineOfSight(Unit* unit) -> MoveInLineOfSight(Unit* who)
thanks to gyx

Signed-off-by: bootz <bootz@projectskyfire.org>
Core/Shared: Move container functions to shared project under SkyFire::Container namespace. Also implement RandomResizeList which takes a predicate function as parameter.

Core/ScriptedAI: Extend SummonList::DoAction to take a predicate function as parameter and allow specifying a maximum number of units to be selected.

Signed-off-by: bootz <bootz@projectskyfire.org>
Core/Scripts: Remove some unnecessary creature/player casts in scripts and do some safer casting in a silithus script

Scripts/Kalimdor: Silithus script clean-up and corrections.

Signed-off-by: bootz <bootz@projectskyfire.org>
Core/Misc: Add a validity check for coordinates, prevents possible crashes with invalid coordinates

Signed-off-by: bootz <bootz@projectskyfire.org>
Core/Ai: Fixed couple wrong return types

Signed-off-by: bootz <bootz@projectskyfire.org>
Core/Script: Use DoMeleeAttackIfReady in default ScriptedAI::UpdateAI method (fixes offhand attacks if not UpdateAI is overridden)
DB/Spells: Fix Honor Among Thieves proc chance

Signed-off-by: bootz <bootz@projectskyfire.org>
Core/DB: Quest The Emissary

Signed-off-by: bootz <bootz@projectskyfire.org>
Core/Scripting: Fix DoAction function of SummonList incorrectly removing entries in SummonList

Signed-off-by: bootz <bootz@projectskyfire.org>
Core/Ai: Cleanup's and corrections

Signed-off-by: bootz <bootz@projectskyfire.org>