Octave support

This is a followup to #74. I don't expect this to be merged yet, but I'd like to get feedback on a few things.

I got this mostly working with Octave. I did a few things:

* I removed the `json` package being used and replaced it with [`jsonlab`](http://iso2mesh.sourceforge.net/cgi-bin/index.cgi?jsonlab). It's pure MATLAB -- I'm not sure what the performance implications of this are. I've also run into [weird issues around special characters](https://groups.google.com/forum/?hl=en#!topic/iso2mesh-users/fySUOU5wKyc). The interface at least is similar; `loadjson` instead of `json.load`, and `savejson` instead of `json.dump`. With the issues I ran into I'm not sure about how good this library is -- an alternative might be to make changes to the original json package to be compatible with Octave (remove the +pkg style, and rewrite the code that interacts with the java classes). Anyway, this is the first commit.
* I made changes to `pymatbridge.py` to handle the different command line interfaces for Matlab and Octave. I extracted most of the `Matlab` class into a base `Session` class, with `Matlab` and `Octave` as subclasses. Along the way I eliminated some small bits of code duplication. This is the second commit.
* Not included in this PR, I also had to recompile the messenger to work with Octave, using `mkoctfile --mex`. (No C code changes required). I'm not sure how to integrate this with the build system and prebuilt binaries you have here.

Finally, there didn't seem to be a way to disable showing plots in Octave, like `-nodisplay` does for Matlab, short of running `figure('visible', 'off')` before every command. I'm not sure what to do about this.

Let me know what you think of this so far.
It should still have a docstring that explains the parameters and returns