Changed naming convention for interfaces.

All interfaces are prefixed with a capital I.
Changed naming convention for abstract classes.

All abstract classes are now postfixed with an underscore.
Made the TODO marking of a test more generic.