Refactor search to handle more types of screens cleanly.
Added search to screens:
* Animals
* Military positions assignment
* Announcements
* Room list
* Job list
* Burrow assignment
Merge branch 'search'