Merge pull request #51 from hamishforbes/master

Dont need to explicitly set the sub-request body
Various refactoring towards the new state machine. Lots still not working
Override tests to be run with TEST_FILE
Passing tests, still a little rough around the edges
Broke out updating state and added event history for generating HIT/MISS header info
Added state machine compilation tests and removed runtime assertions
Use ngx.DEBUG for state machine info
Put esi into transitions
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
Update README.md
Update README.md
Update README.md