Algorithms for Identifying Rigid Subsystems in Geometric Constraint Systems