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.
Just curious, why is the interface for `PI` different than for `person`? They seem like they should be the same objects (or at least conform to the same interface). Is this the issue discussed yesterday about the overlap in the user and investigator tables manifested through the ORM?