fix pedantic error
fix led.c namespace issues / pedantic errors

Two issues cause several errors in led.c and serial.c (and conceivably
elsewhere):

The container_of() macro makes MPLAB unhappy. Removing the const cast
helped. Make sure that's ok.

The ERD pointer incompatibility issue.
`nu_vtbl_error_reporting_dev.report` takes one char *msg, but
`led_report` has both an *err_str and a *fmtd_msg
fix an led namespace issue

led's errors are now identical to serial's errors
fix can.c namespace/pedantic errors

There are many pedantic "ignoring result of" errors.

There is also the longstanding `container_of` error, and the ERD
pointer type error.

`union can_anyFrame` is referenced but never defined.

The `CAN_BIT_CONFIG *default_cfg` is never declared either.

`nu_can_new_easy()` isn't implemented

Fix these and CAN may work.
work on ws20

ws20 is really broken. I tried to reel in the naming conventions. Also
several functions were declared twice incompatibly, once normally
(extern), once statically. I guessed they're supposed to be extern.

There's weird struct->op notation. The ERD vtbl is never declared.

There's usage of both old and new CAN address names.

enum PhaseSeg2TimeSelect and SampleTimes don't exist.

nu_ws20_setup and nu_ws20_new_easy aren't implemented. nu_ws20_init()
is used instead.

can_all.h doesn't compile
resolve -Wall warnings

minor fixes

Also at some point I need to delete those annoying copyright comments
Xcode inserts