Topic: override

Hi all,

I thought I'd just explain the massive (but quite trivial) changes I've applied on (i think) all classes now; the override keyword.

This lets you find out, at compile time, if you have accidentally not properly overloaded a virtual method as intended. By applying this, I found several bugs (at least 1 very critical, which broke CalculatorFunction and PythonFunction completely after a change was introduced in the base Function class).
I'm certainly not trying to blame anyone; without the "override" it's almost impossible to find these problems.

I wanted to put in -Wsuggest-override as a compile time option, but it seems some of the headers we include don't follow use (mpi.h) don't properly do this, bug GCC warns about these files as  well.

Since we have such a tremendous amount of virtual methods in OOFEM, I strongly advise that everyone use these in all new classes (and fix it if I've missed it somewhere).