I've been busy lately but I have included 3D capabilities with terrain collision, I'll add it to the tutorial eventually. There's also an error with the collision reflection function; the normal vector needs to be a unit vector (this is achieved by dividing all of its components by its magnitude). I noticed this when my unit was being pushed ridiculously far away from a larger than usual object. Ctrl+F search for "Edit:" in the original post to find where I corrected that mistake.
As for doodads, you'd have to just treat them like units. if a sphere-shape isn't specific enough, you could use a group of invisible dummy units with fixed positions.