FIX: ConfirmedPasswordField setName failed to set names of child fields.

FIX: ConfirmedPasswordField relied on POST variables. These should instead come from setValue().
Added all important tests for validating the field: valid if passwords match, invalid if passwords differ.