Advanced API filtering.

This PR includes the contents of #275, #276, and #286 and adds advanced filtering, including the ability to filter by key-value pairs and ctnr. Ctnr filtering, however, will not function for many records until the filter_by_ctnr method is added to each relevant model.