Finding Similar/Diverse Solutions in Answer Set Programming