Warnings: clean compile with gcc-4.8 at -Wextra -Wno-unused-parameter

* Mostly fills out some ops struct declarations. Reformatted so Emacs
  can help with alignment. Squelch whitespace in diff to see useful
  changes.

* Use struct instead of casting to data pointer (void*) when serializing
  function pointers.

* strcasecmp is in strings.h