Datalog With Contraints: A New Answer-Set Programming Formalism