[12345] Create DynTree in map and store gameobject collision modells in it

Code heavily modified by Subv. Also thanks to Reamer and Cyberium for porting!

Performance TODO Note:
"rebalance the tree at each grid loading - it's still a dirty way of performance improving, need split map into few trees"
Note to note: I removed the balancing at grid loading, balancing is also done on timer, and i think balancing shortly after grid loading is better choice to not make the bottle-neck "grid-loading" harder
However real perfomrmance improvement is only reasonable after strong performance analysis

Signed-off-by: Schmoozerd <schmoozerd@cmangos>

(based on commit [12240] - b59d0b4)