zfs_putpages: actually update mtime and ctime

Reported by:	Paul Koch <paul.koch@akips.com>
Tested by:	Paul Koch <paul.koch@akips.com>
MFC after:	2 weeks
Removed unused variable and unify some names.
Reduce code duplication by creating ctl_set_res_ua() helper.
Convert persis_offset from global variable to softc field.
Add missing Makefile defines so that the program in question can be
built as part of buildworld.
MFi386: r275305 (by rdivacky)

  Unbreak the code for non-digits below '0' by casting the expression
  to unsigned int.
The runtime linker needs to include a path to itself in the link map
it exports to the debugger.  It currently has two choices: it can use
a compiled-in path (/libexec/ld-elf.so.1) or it can use the path stored
in the interpreter path in the binary being executed.  The runtime linker
currently prefers the second.  However, this is usually wrong for compat32
binaries since the binary specifies the path of rtld on a 32-bit system
(/libexec/ld-elf.so.1) instead of the actual path (/libexec/ld-elf32.so.1).
For now, always assume the compiled in path (/libexec/ld-elf32.so.1) as
the rtld path and ignore the path in the binary for the 32-bit runtime
linker.

Differential Revision:	https://reviews.freebsd.org/D1236
Reviewed by:	kib
Merge remote-tracking branch 'freebsd/master' into hardened/current/master
Merge remote-tracking branch 'origin/hardened/current/master' into hardened/current/userlandenhanced