Add a do_validate and do_default method. Make index and name more safe.
Add a do_validate and do_default method. Make index and name more safe.

This adds the ability to manually run the default and validation passes
in the C++ code. This enables the ability to delegate operations to an
internal member held in Python code.

This also makes the member index and name attributes more safe by making
the setters methods instead of properties (i.e. they can be overridden).

enthought/atom,enthought/atom,enthought/atom