Fixes #7450 - do not mark non-required fields

If validation is conditional we don't mark fields as required by
default. Also fixes disabling by override using :required option.
@ares, I'm not sure about removing the '*' from every attribute that has an `if` or `unless` condition. I agree that client side validations are the solution, anything else is less than ideal. However, if having to compromise, I would mark required for all initial requires for `@host = Host.new` rather than marking only those attributes that are "always" required.