Bugfix for 166

As reported in #166, if a resource did not define an ETag, but the client sent an If-None-Match header, a 500 would result. This instead replies with 412.

We should probably debate this decision, because resuming the normal flow might be another possibility -- clearly the resource didn't match the requested ETag, because it will never match anything. Ideas and opinions welcomed.