Justifications for Logic Programs under Answer Set Semantics