Always take current input before validating a field when handling an event
- onBlur validation was incorrect when fields were autofilled by browsers

When taking new input, only call onStateChange() immediately if the form is controlled
Updated newforms build in docs
Made cleanedData never be (or pretend to be, for formsets) undefined, so it's always safe to check it for data