A Survey of Control Facilities in Logic Programming