Make study listings async

This is a first attempt start at making things async. As an example, this makes the creation of the study listings async so the loading is non-blocking or other pages.
The issue is I have no idea if template rendering can be async'ed, so if we do all the calls in a known async'ed function we can just have a dictionary of {study: [info1, info2, ....], ....} come out of the function instead of just a list of objects. This way we know the DB calls are all async'ed and just pop in info variable values in the template instead of doing DB calls with the objects.