new safer autocrlf handling for text=auto

Commit fd6cce9e introdoced the new safer autocrlf handling:
When core.autocrlf is true, files which have mixed line endings
in the repo are not changed when they are checked out.

Do the same for files that have the text=auto attribute:
When user A uses core.autocrlf=true, text files added on this machine
will be normalized in the repository.
When user B clones the repository, uses an editor which saves changed lines
with CRLF and unchanged lines with LF and does not use core.autocrlf,
this causes trouble for user A once the file is pushed from B to A:
files which are unnormalized are reported as changed.
Now user A can add an attribute file with text=auto to the repository and
re-normalize it.
Once the .gitattrinute file reaches user B via push/pull
(or users C via git clone), text files will stay normalized.

Note 1:
This changes the checkout for a file with mixed LF/CRLF in the
repo, when text=auto and core.autocrlf=true, the file will not be
changed into CRLF in the working tree.
Note 2:
Files with mixed line endings and attríbute 'text' should get CRLF
when checkout (when either core.autocrlf=true or core.eol=crlf or
we are running Windows). This will be done in a different commit.
Note 3:
The attribute file typically travels with push/pull.
If in doubt, the values here should have precedence over
'git config' settings (local or global) on a specific machine.