postprocess can now return Parser.fail

when a rule completes, the post processor may now provide a semantic pass/fail to provide the last word on if the completed rule was a successful parse