corrected "penalty" name to "constraint violation" and introduced options for custom penalty functions
fix various compatibility issues with newer versions of openmdao removed the pre- and post-constraint convention for clarity new custom penalty functions