Preserve name indices for duplicate names

ArraySet assumes the "names" array contains unique names, but this is not in the spec and the TypeScript compiler sometimes generates duplicate names. In this case, SourceMapConsumer crashes when it tries to access a name index out of bounds. This change allows duplicates in ArraySet and just returns the index of the first duplicate from indexOf(), which prevents the crash and allows the source maps to be loaded.