devd: Avoid the creation of a temporary object...

...by using the prefix operator for non-primitive types.

Obtained From: FreeBSD (r243931)
devd: Prefer the use of initializer lists to ctor assignment
devd: Use volatile sig_atomic_t...

...for the flag set by a signal handler. Remove call to _exit() from signal
handler, which also sets a stop flag.

Obtained From: FreeBSD
devd: Use 'const' where possible
devd: Use string::empty() instead of string::length() == 0

Obtained From: FreeBSD
devd: Use simpler dst += *x instead of str.append(x, 1)

Also fix typo in comment

Obtained From: FreeBSD
devd: Prefer using the C++ version of the standard headers

These place the names within the std namespace (and possibly within the
global namespace).

The main advantage is that the C++ versions can provide optimized versions
or simplified interfaces.

Obtained From: FreeBSD (r250186)
bsd-family-tree: Sync with FreeBSD (adds OpenBSD 5.3 & DragonFly 3.4.1).
Merge branch 'master' into gsocdrm_alter
hammer2 - flush sequencing part 3 - add snapshots

* Basic snapshot creation currently uses a duplicate/create sequence
  to duplicate the directory being snapshotted, with caveats listed in
  the TODO.

  Snapshotting the mount point works as expected though work needs to be
  done on the flushing.  Snapshotting a subdirectory works with some
  issues (hardlinks which span above the parent directory will not be
  snapshotted).

* Add the PFS_SNAPSHOT ioctl for writable snapshot creation.

* Adjust the PFS_GET ioctl to support retrieval of the PFS specific to
  the file descriptor.

* Implement PFS deletion and augment the unlink code to allow non-empty
  snapshots to be deleted.

* Add restricted flushing to support flushing the snapshot concurrent to
  modifying operations occurring during the snapshot flush.  Untested.
hammer2 - Add 'snapshot' directive

* Add the snapshot directive, which by default snapshots the current
  directory or the specified directory.

  A label is optional.  If not specified the PFS name prefix and a timecode
  postfix is constructed.  Snapshots are created in the super-root, so use
  pfs-list to list them along with any discrete PFS's.

* Fix the pfs-delete directive.

* Subdirectories of the H2 mount can be snapshotted with the caveat that
  hardlinks which cross above the snapshot directory will not be in the
  snapshot (have lookup failures when accessed via the snapshot).
Merge branch 'master' into gsocdrm_merger