reads awful.client property 'overwrite_class' for custom client class
names.

so in awful.rules.rules one can set
{
    rule = { class = "URxvt", name = "dev"  },
    callback = function(c)
	awful.client.property.set(c, "overwrite_class", "urxvt:dev")
    end
}

and define tyrannical rules with class = {"urxvt:dev"}

Another useful case is to match the google hangouts client that comes
with Chrome, which has the class 'Google-chrome' just like normal
browsing window so one really have to use other properties like 'role'
or 'name' to match these clients.