cleaned_data can now be set for invalid forms, check is_valid() before using it

needs tests!