It turns out that when you have a query that uses `no-cache`, calling `refetch` won't update every every instance of that query. This was causing inconsistent behavior based on what screen you were on.
This diff simplifies the data fetching for repository locations to always pull data from the context. The state observer logic has also been updated to call refetch on the root repository locations query. The only tradeoff here is that if you're in a location that has error-ed out, you will see an error screen immediately. This seems fine because users can't do anything until the location is back up anyway.