Suppress misleading warn. in openbsd provider

I have observed that `pkginfo` command used as `listcmd` by `ports`
package provider sometimes outputs extra messages to stdout (the message
starts with `Updating the pkgdb`). This causes puppet to issue its own
warning as the line obtained from `listcmd` is not a valid package name.

This patch suppresses this spurious message.
Merge pull request #2051 from ptomulik/fix/package_openbsd_spurious_warning

Suppress misleading warn. in openbsd provider
(PUP-1150) Fix race condition in Puppet::Util::Lockfile.

Before this commit, Puppet::Util::Lockfile.lock called the locked?
method before opening the @lockfile for write. Checking that the file
doesn't exist and creating the file were not an atomic operation, which
allowed two processes to detect that the file didn't exist and open it
for write simultaneously.

This commit adds and used Puppet::FileSystem::exclusive_create wrapper
that sets the following options:

 * File:CREAT - Creates the file if it doesn't exist.
 * File:EXCL - Fails if the file does exist.
 * File:WRONLY - Opens the file for write only.

File:EXCL is the important option, callers will recieve an Exception if
the file exists, meaning another process has acquired the lock. If the
file doesn't exist it will be created atomically, so other another
caller cannot create the file in the gap.
Merge branch 'pr/2168'

* pr/2168:
  (PUP-1150) Fix race condition in Puppet::Util::Lockfile.

This closes GH-2168.