adjust contract test suite to do more provide/contract => contract-out
rewriting in order to test contract-out more
make contract-out signal more errors in terms of itself
instead of provide/contract

closes PR 13752