Initial cut of adding first-order contracts to RDL.

Still should make first-class DSL specs into contracts as well.