Fixes a bug with python connection lists

This clears the ParameterData indices before adding new indices.

This showed up as being a problem for connection lists where changing
a parameter caused a change in the number of connections (e.g. our
Gaussian Kernel for the Oculomotor model).

This trivial fix took an entire day, as I had to satisfy myself the
python script was working, and it took all day to implement some sort
of access to the pythong script stdout!
Implements python stdout

Previously, stdout/stderr from a user's python script would not be
seen, making it difficult to debug in-place scripts.

With this commit, the stdout is redirected into a data structure,
which is then returned.

The user's function is automatically post-processed, to insert a class
called StdoutCatcher. stdout/stderr are redirected into an instance of
this class.

This requires that the user ALWAYS returns a variable called out,
because the stdoutCatcher data is then packed into a return variable
called final_out, containing the user's out and stdoutCatcher.

All the user needs to know is that he can put lines like:

sys.stdout.write ('my debug line')

or

sys.stdout.write('gauss>0.0001: i={0} gauss={1}'.format(i, gauss))

And they'll appear as "python output:" lines in the stdout of
SpineCreator (for now, in future, we could put this output into a UI
window).

There are also some indentation changes in this commit (method scope
braces on newline, etc).
Merge branch 'python_script_work' of github.com:SpineML/SpineCreator into python_script_work