Obtain advisory lock on ZED PID file

ZED uses an advisory lock on its state file to protect against multiple instances running concurrently.  However, work is planned to move this state information into the kernel, and ZED will still need to protect against starting multiple instances.

This patch adds an advisory lock on the PID file to protect against starting multiple instances.  A lock failure can be overridden with the "-f" (force) command-line option.  The advisory lock on the state file is being retained for as long as the state information is stored in the state file.