updated documentation for the directive function
added keyword ensure to wrap existing methods with pre/post conditions
updated and reorganized documentation
Merge branch 'feature-ensure-function'