304 responses now go through serve. Status is set explicitly by actions for all cases (serve no longer sets status). Also test that other responses codes (e.g. 404) make it through correctly. Closes #65