Convenience function for has_esi()
Clarified serving_not_modified by exiting with a status (not strictly serving)
Better documentation for state machine
Tidy up
Fixed bad ESI detection logic, which made turning ESI on for non ESI resources slightly slower