Excluded static methods when determining if a type is pure virtual (Fixes #188)
Also added a (already passing) test that checks that a substitute for a concrete with a static method can setup a return value to improve coverage of this type of class
Added documentation for the changes that were made in the last commit