Search by template number now complete w/ lots of code cleanup.

- The list of terms is long and subject to change, so it needs to be async loaded from the vocab server.
- Currently the vocab is not in the beta server, so the vocab endpoint is configurable to pull from a different server as the queries.
- The vocab terms need special sorting: split the number off the end and sort by that number, for instance, ‘Template 99’ needs to sort before ‘Template 100’.
- The drop down list contains a ‘…loading’ message while waiting for vocab and if it fails to load it replaces that with a ‘failed to load’ message. There are no popups since this should be an edge case and many users won’t even know what the templates are.