feat(library/defitional): add no_confusion construction for inductive datatypes that are not propositions
refactor(library/data/sum): use `no_confusion` construction to simplify proofs
refactor(library/data/nat/basic): use `no_confusion` construction to simplify proofs