[#51663445] Fix bug where datasets are marked stale even if they're not

Also, factor out 'find_or_initialize_dataset' method.
- Order of operations matters.  Sometimes you need to use parens in function calls
[#51599489] Skip re-index for datasets in datasets controller.

This allows the request for schema datasets that have not been indexed
to take a few seconds instead of minutes (for 50 datasets).