title: Make namedtuple accept kwargs
body: <p>If I have a class like:</p>
  
  <pre><code>class Person(object):
      def __init__(self, name, **kwargs):
          self.name = name
  
  p = Person(name='joe', age=25) # age is ignored
  </code></pre>
  
  <p>Extra params are ignored. But if I have a <code>namedtuple</code>, I'll get `unexpected keyword argument:</p>
  
  <pre><code>from collections import namedtuple 
  
  Person = namedtuple('Person', 'name')
  p = Person(name='joe', age=25)
  
  # Traceback (most recent call last):
  #   File "python", line 1, in &lt;module&gt;
  # TypeError: __new__() got an unexpected keyword argument 'age'
  </code></pre>
  
  <p>How can I make <code>namedtuple</code> accept <code>kwargs</code> so I can pass extra arguments safely?</p>