What Inverse kinematics technique does the legacy IK solver use? There are different IK techniques like FABRIK, CCD, Jacobian inverse technique etc. Does anybody know which one Blender's legacy solver uses?
TL;DR The legacy solver uses Jacobian IK.

I'm not very familiar with the IK implementation, but here is what I've found out from Blender's source.

source/blender/ikplugin/intern/iksolver_plugin.c contains (parts of) the code that make up the legacy solver. In this code iksolver_execute_tree() calls execute_posetree() which creates the IK solver using IK_CreateSolver(). This results in the creation of instance of IK_QSolver. This object contains an instance of IK_QJacobianSolve which is used when execute_posetree() calls IK_Solve and passes IK_QSolver as argument. 

This means the solver uses Jacobian IK. The actual implementation of the solver can be found in intern/iksolver/intern/IK_QJacobianSolver.cpp.