Factor out handling of filer_id. Add more IEC data.

This should fix #311 issues.
Factor out the handling of filer_id (usually the recipient of a contribution):
   There are committee ids which are not integers, map them to unique integers.
   Make sure we update pending ids when we find them.
Add the IEC info from form 496
Special case Kaplan, since there is an IEC that matches better than her committee.
Update map.csv (early and often).
This needs a comment.  I was fixing this when the other stuff came op. Forgot about it.
The Firemans Union PAC reported all the contributions from members as OTH.  That makes them look like a business rather than a person.



> On Nov 1, 2014, at 6:30 PM, Tom Dooner <notifications@github.com> wrote:
> 
> In backend/fetchers/contribution.rb:
> 
> > -          # contributor is "Other"
> > -          Party::Other.where(name: row['tran_naml'] || 'unknown')
> > -                      .first_or_initialize
> > -                      .tap { |p| p.update_attributes(city: row['tran_city'], state: row['tran_state'], zip: row['tran_zip4']) }
> > +        when 'IND', 'OTH'
> > +	  if row['entity_cd'] == 'IND' || !row['tran_namf'].nil? the
> > +	    # contributor is an Individual
> > +	    full_name = row.values_at('tran_namf', 'tran_naml', 'tran_nams')
> > +			   .join(' ')
> > +			   .strip
> > +	    Party::Individual.where(name: full_name,
> > +				    city: row['tran_city'],
> > +				    state: row['tran_state'],
> > +				    zip: row['tran_zip4'])
> > +			     .first_or_initialize
> > +			     .tap { |p| p.update_attributes(employer: row['tran_emp'], occupation: row['tran_occ']) }
> So here we're creating Party::Individual records despite the fact that row['entity_cd'] is actually 'Other'. What exactly is this getting us?
> 
> —
> Reply to this email directly or view it on GitHub.