Change implementation of `required: only-when-needed`, because maintaining a list of `START_TOKENS` and just looking at the first character of string values has proven to be partially broken. Cf. discussion at https://github.com/adrienverge/yamllint/pull/246#issuecomment-612354097. Fixes https://github.com/adrienverge/yamllint/issues/242 and https://github.com/adrienverge/yamllint/pull/244.