Merge branch 'octave-fixes'

* octave-fixes:
  octrun.swg: ensure type_id() is set correctly
  .travis.yml: build Octave on OSX with CPP=11
  .travis.yml: require Octave build on OSX to pass
  .travis.yml: add Octave test on Ubuntu Bionic
  Octave: use pre-compiled headers to speed up test suite, if supported
  Tools/travis-osx-install.sh: disable 'brew cleanup' to save Travis job run time
  Tools/travis-osx-install.sh: use Tools/brew-install to install Octave
  octave.cxx: fix exception raising for newer Octave versions
  octave.cxx: add missing return statement before "fail:" label
  octave.cxx: this belongs in the code (as opposed to definition) section
  octave.cxx: remote whitespaces
  octave.cxx: replace Printf() with Append() for consistency
  octruntime.swg: do not use atexit() to quit Octave
  octrun.swg: remove octave_value type-id from octave_swig_bound_func
  configure.ac: fix calls to mkoctfile for Octave configuration