build: -fstrict-overflow is redundant with -fwrapv

This is true in both gcc and clang, but clang goes so far as to issue
a warning about it.
pythonplugin: remove unused fields

clang detected that these fields were unused.  delete them.
taskclass: remove unused field

clang detects that this field is unused.
tp: Remove unused functions

clang detects that these functions are unused.
togl: cast to avoid warning

clang complains about the comparison between integer and pointer
emcmodule: Disable invalid offsetof warnings explicitly

"-Winvalid-offsetof" has been a g++ flag since 3.x, so we can use it
in all gcc versions; it is better than the previous hack, which
encountered C++11 narrowing diagnostics with clang 3.5
ladder: get rid of unused dbg_printf

.. the unused inline function was a warning in clang
halrmt: If you mean NULL, say NULL

clang warns about the assignment of a character literal to a pointer
nml: 'register' is a deprecated keyword

.. drop it
uspace: Don't call RtapiApp a struct

clang's silly about this one, it doesn't like later calling something
a 'class' when it was first declared with 'struct'.
rtapi: don't uselessly test if an unsigned is less than zero
interp: use strings to avoid buffer hell

I ended up here because clang warned about 'strncat(cmd, buf, sizeof(buf))'
-- strncat is notoriously difficult to use.  This usage is wrong, and
related code must be prepared to deal with a non-NULL-terminated character
array (which related code was not).

Use C++ strings instead, until it becomes inconvenient to (the place
where the string needs to be split at newlines)
hostmot2: support boards on spi interface

.. for uspace systems with /dev/spidev.  This is mildly tested on odroid
u3 with a 7i43 custom firmware.  Magic numbers still need to be added
for the real SPI hostmot2 card, 7i90.