Robust recovery of multiple subspaces by geometric l_p minimization