phlurl_watcher: add 'peek' to enable transactions

Make it possible for clients to use the 'newness' of a url's content in
a transaction by providing a 'peek' method which does not consume the
'newness'.

Test Plan:
Updated test driver

$ ./precommit.sh
Arcyd: mark repo as fetched *after* fetching

Repositories should retry fetching if fetching failed for any reason, if
they repeatedly fail then the 'schedule unrealiables' routine will
decide whether and when to keep retrying.

Consume the 'newness' of the repo 'snoop_url' only if fetching is
successful.

Test Plan:
$ ./precommit.sh
$ ./testbed/arcyd/acceptance_tests.sh