Change from astw to estraverse
Fix fatal error handling to work more like regular error handling
Ensure non-zero exit code when rules are found with errors