Octave: cleanup/restructure library files

- Restructure runtime code into declarations, function/class definitions,
  and initialisation code
- Rename internal functions/types to follow SWIG_Octave... or SwigOct...
  naming styles
- Style/comment/whitespace cleanups
Allow language-specific support for multiple output wrapper files

- Language module must set Language::multi_file = 1 to enable
DEV Octave: support multiple output files