Added non-existence guard to transaction

Allows a transaction to be guarded by a collection of triples that must
exist, and another collection of triples that must not match before the
update is applied.
Addresses issue #84
Added non-existence guard to client API
Fixed Last-Modified time returned by HEAD

Fixed to return time in UTC rather than local timezone.