fix typo in can.def

also MPLAB doesn't support C++11-style range-based `for` loops either.
WOW MPLAB.
Implemented all CAN packets for c++ in can.def.h

I win. can.def.h uses namespaces and nice syntax to generate enums and
structs. The macros are nearly invisible, and look ordered

Also we now wrap all associated can things in the `can` namespace. that
includes the subnamespaces `frame` and `addr`, and the class CAN (soon
to be renamed Module)

main.h is still a mess due to MPLAB. It'll likely be deleted, with all
main steering wheel code moved into main.c