http://www.melax.com/diag/
I'm sure most people already have some sort of method to do this already. The objective of this particular code was to be compact and simple for somebody to grab and incorporate into their own 3d game math lib.
The difference with this code is that it focuses only on 3x3 symmetric (i.e. ortho diagonalizable) and produces a quaternion directly.
If anybody finds it interesting - great, useful - even better.
If I had more time to waste, i'd see if I could find a closed form formula instead of an iterative solution.

comments/flames welcome.