Core/Instance: Implement Dynamic Difficulty Map

this solves issue where player only should get one instance id for 10man and 25man

1part for #2374
is this change required due to https://github.com/TrinityCore/TrinityCore/pull/12690/files#diff-f84464597f685f99be0d1e1f7d09f3e4R147 returning a different BindDifficulty then the real one ?
Please add some more documentation to the code to clarify the changes.