title: collections.Counter: most_common INCLUDING equal counts
body: <p>In <code>collections.Counter</code>, the method <code>most_common(n)</code> returns only the n most frequent items in a list. I need exactly that but I need to include the equal counts as well.</p>
  
  <pre><code>from collections import Counter
  test = Counter(["A","A","A","B","B","C","C","D","D","E","F","G","H"])
  --&gt;Counter({'A': 3, 'C': 2, 'B': 2, 'D': 2, 'E': 1, 'G': 1, 'F': 1, 'H': 1})
  test.most_common(2)
  --&gt;[('A', 3), ('C', 2)
  </code></pre>
  
  <p>I would need <code>[('A', 3), ('B', 2), ('C', 2), ('D', 2)]</code>
  since they have the same count as n=2 for this case. My real data is on DNA code and could be quite large. I need it to be somewhat efficient.</p>