Introduce SExecutable

captures computations that are symbolically executable; to be used with
safeWith
Liberate safe/safeWith

We now allow for arbitrary types as input/output. (Previously was
restricted to boolean outputs only)