Adding locks around some collection loops

* Issue #510 - dictionary changed size during iteration
When loading an object initialize *interface fields with defaults

Issue #509 - Sync fails to render DNS files following a replicate

Also fixes an issue where the logger object is not set when calling
the api.sync() function from the replicate module, resulting in a
stack trace
Fixing a silly goof in not using self.lock
Adding in logging of an exception generated by a kickstart parse error
Limit splitting of interface names to one dash

Issue #511 - interfaces with - in the name cause exception
Create sylink in links/ for distros during "cobbler distro add"

Issue #513 - "cobbler distro add" does not add a link to the distro
in the links directory.
Enforce the use of --interface when no interfaces are defined

Issue #526 - cobbler system add creates broken record when used
with --dns-name and no interface
Fix http check on SUSE platform. Addresses bnc#828453

On SUSE platform Apache's binary is called 'httpd2'.

This addresses one of the issues reported by bnc#828453.
Merge branch 'release24' of github.com:jmaas/cobbler into release24