utmpdump: fix localtime() error handling

If current TZ has no representation of a given time_t then localtime()
would return NULL and break the next strftime().

In practice this happens very likely on systems with 64bit time_t when
parsing broken binary data. Seen on aarch64 (and probably s390) using
our (incompatible) test wtmp data.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
tests: merge last/ and utmpdump/ into new utmp/ dir

We want to prepare and simplify utmp sepcific fixes. Beside all this
renaming we also update/add some text data to have it more consistent.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
tests: skip utmpdump tests for exotic archs

We introduce utmp_functions.sh and skip tests if size of utmp struct
does not match our wtmp test data.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
tests: provide missing test data for "last" on exotic archs

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
tests: add utmpdump-circle test (arch independent)

This one is a completely arch independent conversion round:
  text -> bin -> text -> bin

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
tests: split last into dns and nodns subtests

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
tests: skip some last tests if no dns support

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>