High: nfsserver: preserve statd directory permissions during sm-notify or else lock recovery fails

sm-notify drops root privileges and executes as the rpc user.
If we do not maintain the statd ownership correctly sm-notify
can not access the lock state data.
High: nfsserver: let systemd service files handle lock notifications
Low: nfsserver: make sure sm-notify can always execute

If a nfsserver restarts on a node without rebooting, the lock
notifications are not sent out properly because of a stale
sm-notify.pid file. In normal non-ha operation, this is to prevent
sm-notify from notifying clients multiple times, but in an ha
environment we need this to occur.
High: nfsserver: Do not fail monitor if lock services are enabled

nfs clients use lock services outside of ha nfs server
High: nfsserver: Re-structure how locking daemons are handled

Previously the nfsserver agent took in what binary to use
in order to send the NSM lock notifications. We don't need to know
what binary to use. It only makes sense to use sm-notify if rpc.statd
is already running as sm-notify re-notifies the clients of a change.
If rpc.statd is down, it has to be started for NSM locking to occur.
By default rpc.statd is going to invoke sm-notify on initialization.

So, if rpc.statd is down. We use rpc.statd to notify on start.
If rpc.statd is up, we use sm-notify to re-notify clients.

I've also made the nfs_ip argument optional. There are use-cases
where we do not want to bind rpc.statd to the floating ip. If no
nfs_ip is specified, rpc.statd binds to the wildcard address.

One more change to rpc.statd has been made. I removed the ability
to accidently execute rpc.statd in the foreground. rpc.statd never
returns. It is a daemon... This would cause start to timeout if
anyone ever set this option and rpc.statd was used to notify
the clients.
Low: nfsserver: better nfs init script auto detection
High: exportfs: Do not fail during monitor and stop operations if dir has trailing slash
Low: exportfs: Avoid spamming info messages during monitor operations
Low: exportfs: increase documented stop time.

This increases the recommended stop time from 10s
to 120s.  This will help mitigate users running into
the problem where they need to wait out the nfsv4 lease
time during stop, but the stop timeout is too short which
causes the resource to fail. It is very common for the nfsv4
lease timeout to be 90 seconds. Increasing the stop timeout
to 120s gives us plenty of room to work with here for the
majority of use-cases.
Merge pull request #420 from davidvossel/nfs-cleanup

nfsserver fixes and cleanup