Fix #43: Exit with non-0 exit status if warnings found or exceptions thrown

Also print a summary line indicating how many of each occurred before
exiting.