A Survey of Complexity and Undecidability Results in Logic Programming