Align object along face's normal

I thought this would be much easier, but I’m pretty much lost. I have a triangle and I want to align - say - a cone, so its z-axis points along the its normals. I know how to get the position and the normals of a face.
My approach:
calculate the face’s position (Vector pos) -> move the cone to that position -> calculate the normal (Vector nor)-> pos + nor should be a point in space I should be able to make the cone look at (i guess) -> cone.lookat(pos + norm).
is there a lookat in python, or a quaternion track to? Or even a better way?
Thanks

http://www.blender.org/documentation/blender_python_api_2_72_0/mathutils.html#mathutils.Vector.to_track_quat

Sorry for the double post, I googled it, and nothing showed up, next time I’ll search blenderartists internally, too. Anyways liero’s answer in CoDEmanX’s second link works perfectly, thanks.