[BUGFIX] File identifiers are case-insensitive

With the default collations used by most databases, casing is ignored.
This leads to problems when searching for an entry in the file database:
If there are two files with the same name in different casings, only one
of the two will be indexed. This index record will be used for both
files, as the database does not see a difference when querying for their
identifiers.

The problem is solved by this commit with the help of a new field
identifier_hash. To also solve the problems arising on case-insensitive
file systems (where all casings are possible and thus the same file
could be indexed multiple times when being created with differently
cased identifiers), file identifiers for these storages are converted to
all-lowercase before hashing.

Change-Id: I805085948e01544efd692498f5e3537612c62050
Resolves: #43027
Resolves: #46553
Resolves: #45504
Releases: 6.2
Reviewed-on: https://review.typo3.org/23398
Reviewed-by: Alexander Opitz
Tested-by: Alexander Opitz
Reviewed-by: Markus Klein
Tested-by: Markus Klein