Work through the compiler warnings and take action as necessary.

This fixes most of the warnings, except for:
* Any collab code
* fontforge/ufo.c (skipped)
* encoding.c: Assigning const parameter AdobeStdEncoding to what may be free'd
  - No easy way to resolve this
* charview.c: 12910 - Should this be cast or converted?
  > mblist_nomm[i].ti.text_untranslated = mblist_nomm[i].ti.text;
* cvpalettes.c: Redefinitions of MID_*
* metricsview.c: selectUserChosenWordListGlyphs - Comparing GArray pointer against 0 / -1 / -2 ?
* windowmenu.c: Same question as for charview.c
  > e.g:
  > windowmenu.c:270:33: warning: assignment makes pointer from integer without a cast
      mb[i].ti.text_untranslated = mb[i].shortcut;
Work through the compiler warnings in ufo.c

These functions could not be declared with const SplineChar* because one
or more functions that they subsequently call modify that parameter:
* UFOOutputFontInfo
* UFOOutputFeatures
* WriteUFOFont

The most notable example is a call which leads to SFReadChar being called.
There may be other functions which also modify the parameter, but tracing
the calls is tedious.
Fix const usage warnings when compiling on Linux
Merge pull request #1426 from jtanx/compiler-warnings

Work through the compiler warnings and take action as necessary.