Implementing new record_filter functionality
RecordFilter is an ActiveRecord model stored in the database with a name
  and optional attributes which can be used to find Records.  It can
  also contain an optional project_affiliation_filter_term, or one or more
  annotation_filter_terms.  It supports a query method which takes
  a Record::ActiveRecordRelation, and modifies it to search for Records
  based on its state.  It also supports a query_parameters method to
  return a hash of values to be placed into a URL for records or
  record_filters.
AnnotationFilterTerm is an ActiveRecord model that belongs to a RecordFilter
  and contains attributes which can be used to find records based on their
  annotations. It contains methods to support the query and query_parameters
  methods of RecordFilter.
ProjectAffiliationFilterTerm is an ActiveRecord model that belongs to a RecordFilter
  and contains a project_id attribute which can be used to find records based on
  their project_affiliation. It contains methods to support the query and query_parameters
  methods of RecordFilter.

record_filter_test
  - specifies expected associations
  - specifies expected attributes and types
  - specifies requirements for query and query_parameters
  - specifies that users can manage their own record_filters, but
    not the record_filters belonging to other users
annotation_filter_term_test and project_affiliation_filter_term_test
  - specifies expected associations
  - specifies expected attributes and types
  - specifies requirements for query and query_parameters

record_filters_controller_test
  - specifies authentication requirements
  - specifies authorization requirements
  - specifies that users can create record_filters
    with or without annotation_filter_terms_attributes and
    project_affiliation_filter_term_attributes
  - specifies that users can update record_filters
    - change value of record_filter attributes
    - add or destroy a project_affiliation_filter_term
    - add or destroy one or more annotation_filter_terms
  - specifies that users can destroy record_filters along
    with their associated filter_terms

The only test that is not PASSING is the records_controller_test
as it uses the older ActiveModel based record_filter object
These should have gone with the last commit