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() to 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