Adding a support for passing an additional where clause to filter propagation

The functionality added here is useful to limit subtable filtering propagation using some generic key. Currently it is possible to limit propagation only using `name = value` syntax: e.g. `type = 'Unit'`. This allows a more generic syntax: e.g. `rental_id like p%`. 

In particular, it allows to fix a problem on Apartment List where propagation from Unit and Community to Favorites, leaves the table completely empty. 

@kristjan @andyvb 
This seems roundabout now. I think this is equivalent:

```ruby
query = <<-SQL
  DELETE FROM #{child_table}
  WHERE NOT EXISTS (
    SELECT 1 from #{parent_table} where 
    #{child_table}.#{child_key} = #{parent_table}.#{parent_key}
  )
SQL
query += " AND #{where_clause}" if where_clause

connection[sql].delete
```