Deduplicate entities across multiple fields

Includes:
* Scoping entity validation to additional fields.
* Making EntityNoticeRole de-duplicate new entities across the
  additional fields.
Create a custom RestClient to configure timeouts.

This allows us to wait longer for elasticsearch responses, which should
lead to fewer 500 errors when searches time out.
Map entities from legacy data correctly

* Sender_LawFirm becomes Sender (name and address)
* Sender_Principal becomes Principal (name only)
* Sender_Attorney becomes Attorney (new role, name only)

Also refactored a bit to make adding/changing entity mappings easier.
Add principal name to search UI