Fix and simplify GetLabelCache()

- Remove initialization of labels to [] since it's being initialized
  afterwards anyways
- Make a copy of the entries in LabelCache, otherwise the results of
  GetLabelCache for each input file are appended to the label cache,
  which is redundant and would lead to an increase in label cache size
  with each completion call