Create the Dragoman class that translates Resident attributes to PDF fields

Dragoman is sort of a synonym for "translator."

Dragoman's purpose is to let you write rules for translating one
set of named values to another.

For example, suppose you have the following information about a person,

    first_name => "Walter"
    middle_name => "Hartwell"
    last_name => "White"
    dob => "1959-09-07"
    sex => :male
    zip_code => 87111

Now we'd like to use this information to programmatically fill out a
form.  That form has text fields with these names:

    age
    full_name
    home_phone

Dragoman lets you define rules for translating the first set to the second.
Such rules would look something like:

    age = today's date - :dob, in years
    full_name = "#{first_name} #{middle_name} #{last_name}
    home_phone = "#{home_phone}" or "#{cell_phone}"

Since we don't have any phone numbers in our person, Dragoman should
inform us that getting values for either home_phone or cell_phone would
make our information more complete.  We can use this information when telling
the users which fields they still need to enter.

The form might want the same information in multiple places, but use
different names for the fields.  Suppose the form includes:

    first_name
    firstname2
    _First_Name

We don't want to redefine the same mapping for every possible field.
Dragoman can map patterns to ways of producing the desired output.

    /first.?name/i => first_name