CustomStructure.update: raise KeyError for bad param names
Merge pull request #109 from dougalsutherland/py-params-update

Python bindings: raise KeyError if you give a bad param name
Don't run pyunit tests if python bindings are not built (thanks Daniel Franke)
Matlab bindings fixes in order to run on Octave. (Thanks Daniel Franke)
Fixing old/incorrect code comment.
Making a copy of the dataset in when building the index in the Matlab mex file to fix the issue of Matlab releasing the memory after index was built.