Reasoning and Learning with Probabilistic Answer Set Programming