major bugfix patch for 404 errors

a lot of 404 was not handled correctly due to badly designed support for write-only objects
it lead to 5xx instead of 404 or 400 in quite a few places
needed to redesign the whole thing and check for 404 much earlier than before

wrote some regression tests
hope that all corner cases are covered now

Side note:
This patch uses `x-zerovm-access` header internally. And its value can be `GET` or `PUT`. Usually adepts of RestFul will ask "Why not use HTTP GET and HTTP PUT instead?" my answer would be: "Think."