Added an "if_valid" flag to Field callbacks

Allows to specify that a bind/update/update_field callback must be
called only if the component is in valid state when the event occurs.

That way, aggregated services can be configured during the validate
callback while new ones can be configured in a bind_field('injected',
True) method.

This feature keeps the previous behaviour if the flag is not given
(no modification is required on existing code)