diamond: Let diamond read the puppet state file (take 2)

This reverts commit 07bc23c866fb90c712bffaff7564b8ca960f7708,
and also adds a few fixes to prevent spam from happening again.

The spam was because of an older version cherry-picked on
to betacluster, which has been fixed by bd808.

Agent now first checks if it can sudo before attempting
to do so. Such sudo failures will be logged to diamond.log.

Change-Id: Ia2fc78fadbfa9dbc036d9dfb210e8e0db222fe62