Substituted checkFatal for repeated if err == nil
Changed Lock to RLock when matching
Refactored indexOf*
Made zone return errors and http idempotent

The Zone DB tells you if you have a duplicate or missing record, but
the HTTP server smoothes these over.
Factored out more (but different) err != nil code