libpromises: some constraints may not exist at all

Not all constraints are legal or future.
libpromises: more future syntax checks, for bodies, promises, bundles

We can now define new promise types and new bundle or body types