Octave: simplify Examples/octave/example.mk
Octave: cleanup/restructure library files

- Restructure runtime code into declarations, function
  and class definitions, and initialisation code
- Rename internal functions/types to follow SWIG_Octave...
  or SwigOct... naming styles
- Style/comment/whitespace cleanups
Octave: whitespace/style cleanup of Doc/Manual/Octave.html
Octave: drop support for Octave versions older than 3.2.0

- Latest non-supported version is 3.0.5, released 2009-04-09
- Earliest supported version is 3.2.0, released 2009-06-05
DO-NOT-PUSH: remove .travis.yml
DO-NOT-PUSH: add Octave-specific .travis.yml
Examples/Makefile.in: allow C/C++ wrapper output file names to be overridden

- Caller can set ISRCS/ICXXSRCS to modify the C/C++ files names, so long as
  they still have .c/.cxx extensions
- IOBJS now derives from ISRCS, new ICXXOBJS is used when compiling C++ code
Lib/typemaps/string.swg: make SWIG_strnlen() an internal function
Add 'decl' field to Wrapper() object

- So that wrappers can carry around an independent declaration of a
  wrapper function/variable, in addition to the definition code
- Add function Wrapper_print_decl() for printing the declaration
Extend SwigType_emit_type_table(): change modified, print only declarations

- SwigType_emit_type_table_decl() also print declarations of all type table
  variables to a 3rd file, which also removes 'static' as the storage class
- SwigType_emit_type_table() retains the previous default behaviour