Solving Epistemic Logic Programs using Generate-and-Test with Propagation