touch: Allow setting the timestamp to -1.
Note that VFS internally interprets a timestamp of -1 as “do not set”,
so this has no effect, but at least touch won't incorrectly reject the
given date / time (1969-12-31 23:59:59 UTC) as invalid.
While here, fix some style issues.
MFC after: 1 week
Reviewed by: allanjude
Differential Revision: https://reviews.freebsd.org/D44504
(cherry picked from commit aa69e0f212630bd6d4ec1c3c54e117be16653e8a)
touch: Add unit tests.
MFC after: 1 week
Reviewed by: bapt
Differential Revision: https://reviews.freebsd.org/D44505
(cherry picked from commit 74a4aa9b1517d92bfa85b0b1cd7d4c1262bb1ef9)