Add optional crowbar-applied boolean attribute to schema

Set it to false by default in the json and update proposal schema
version to 3.
Merge pull request #102 from bkutil/add_applied_attribute

Add optional crowbar-applied boolean attribute to schema
Add dependencies in bind9 metadata

We include recipes from other cookbooks.

https://bugzilla.novell.com/show_bug.cgi?id=869688
Merge pull request #103 from vuntz/bind9-deps

Add dependencies in bind9 metadata
Rename variable for clarity
Rename another variable
Minor code cleanup
Rework how we set SOA attributes

Instead of always resetting them, try to re-use what we have in the
attributes.
Reorder code for the two domain zones to be in similar order
Convert the attribute for records to a hash instead of referencing it

Since we are putting the final zone mash in the attribute, if we just
reference the records, then we will save a reference to the records
instead of something different.

This will be an issue soon, since we will compare the zones from the
attribute to the zone we're rebuilding to see if there's a change.
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
Copy SOA fields from zone for reverse zones
Copy nameservers from zone for reverse zones
Merge pull request #104 from vuntz/fix-serial

Only increment serial for DNS zones when there's a change
Unbreak initial chef-client run

Commit 03086479a41fa4545b387c850ddf946fa1b774ed and the following commits
caused a crash during the initial chef-client (during crowbar installation) run
because node[:dns][:zones] was referenced before it's acutally initialized.