Finding Semantic Inconsistencies in UMLS using Answer Set Programming