routes: Bypass the login system again
Try to add Resident selection to the Cart, and fail

I want the user to be able to choose which Resident's information goes into the
housing forms by setting the :user_id on the current Cart.

I don't know the Rails-y way to do this sort of thing yet, so I'm going to pass
it along to Eric.
Updates to resident picker
Created migration, cleaned up Rails stuff

Also, changed the housing picker to let you add forms not already part of the cart
Merge remote-tracking branch 'origin/master' into select-resident-fail

* origin/master:
  Create the Dragoman class that translates Resident attributes to PDF fields
Require dragoman so Resident can actually use it
Remove debug prints from generate_pdf_archive
Cart attributes don't go in the post the data, silly
Extract method fill_form from generate_pdf_archive
Return a list of strings from Cart#field_names, not a list of hashes
Dragoman#is_provided isn't configurable

Like the comment said, this application wants to consider empty strings as "not
provided."  Problem is, the user code can't pass in a lambda with @provider in
the closure.  It doesn't work right, and the very idea of making it configurable
is more flexibility than Dragoman needs right now.
Redirect to picker_path for cart updates

Fixes a functional test, though I'm not sure it affects the app as it is now.
Dragoman: Test that empty-string attributes count as missing
Dragoman methods return Sets rather than arrays

Sets make more sense for rules which may have multiple productions, using the
same provider item multiple times.

For something like:

   @d.learn(/FullName.*/,
            ->(first_name, middle_name, last_name) { "#{first_name} #{middle_name} #{last_name}"},
            ->(first_name, last_name) { "#{first_name} #{last_name}"})

Dragoman#required_items should not contain :first_name and :last_name twice.
Refactor Dragoman test
Add guard with test and rails plugins

This helps with unit test automation.
Refactor and add features to Dragoman