client init script - source functions library *before* client sysconfig overrides

Our environment uses a strict umask settings (027 for init scripts, 077 for normal users).
This bites us hard when using exec resources or any add-on functions that exec external programs.
The fix is relatively simple - run umask in /etc/sysconfig/puppet and set a more forgiving umask for the puppet daemon.
However, in the puppet client init script, the init function library is loaded *after* /etc/sysconfig/puppet so the umask is reset to 027 (via /etc/sysconfig/init).
simply moving the sourcing of the init functions *before* /etc/sysconfug/puppet is sourced fixes this issue.
I note that the puppet master script already does this.