[TIP_Form] Improved defaults management and added immutable fields
[TIP_Form] Improved defaults management and added immutable fields

Now the defaults are cleary separated in (from higher precedence):

- GET defaults
  Default values provided by GETs. They will be submitted in a
  special hidden input (named "__tipd") to not loose their values
  in a POST submission.
- Explicitely set defaults
  The default values specifically set by a configuration option
  or by the logic of a module.
- Automatic defaults
  The fields to automagically fill (_creation, _user ecc...)
- Database defaults
  The default value as got from the database table. In the previous
  version, TiP will use these values only where there was no
  explicitely set defaults. Now the database defaults are always
  used, only keeping a lower precedence.

An immutable field is an input element that, if it has a provided
value, cannot be changed (that is, the form element is frozen).
With this new default management, the solution is quite easy:
whenever a field has a GET or explicitely set default value, it is
frozen. This approach allows to use a database default without
freezing forever the value.

BackupTheBerlios/tip