Only increment serial for DNS zones when there's a change

Instead of incrementing on every chef run, we compare the zone with what
was saved in the attributes, and if there's a difference, we bump the
serial.

https://bugzilla.novell.com/show_bug.cgi?id=872547

Also, rework how we set SOA attributes: instead of always resetting them, try to re-use what we have in the
attributes.