Create missing domains during Bind9Backend start

The Bind9Backend start function uses rndc to reload each domain.  If a
domain is missing on the Bind9 server, a ProcessExecutionError will be
raised.  This bug was recreated by stopping a bind9 process, deleting
the cached nzf files in /var/cache/bind, and restarting the process.
The Designate Central service was then restarted, and the bug triggered.

The original bug report requested that the Bind9Backend check for zones
on the server before trying to reload them, but rndc does not appear to
support that operation.

A less ideal approach is used:  the start function will now catch
ProcessExecutionError exceptions and issue a command to recreate the
zone if the caught exception indicates that the zone was not found.

Another alternative approach could use standard DNS query tools rather
than rndc to confirm zone existence.

Change-Id: Id164392f2419fc88257b9f21c1d0ef723280a8b6
Closes-Bug: #1271493
Merge "Create missing domains during Bind9Backend start"