Better integration tests for eager/eager_graph limit code

No code changes, but this makes sure to test that eager loading
works correctly when there are associated objects for multiple
current objects.
Simplify queries used for filtering by associations with conditions

Previously, the strategy Sequel used for associations with conditions
was to start with the filter for the association without a condition,
and then add another filter for the conditions part.  However, the
filter for the conditions in general just repeated most of the code
for the filter for the association without the condition.  This was
especially bad for associations involving joins, as there would be
multiple subqueries instead of a single subquery.

This new code just drops the filter for the association without a
condition, fixing a few corner cases for many_*_many associations
where an IS NOT NULL condition was not added.

While here, add an association reflection helper method for
returning the dataset with the eager block condition already added.
This reorders some clauses, but as the specs would be changing anyway
due to removal of other clauses, it makes sense to do it at the same
time.
Use limit strategy to correctly handle filtering by limited associations

This applies the same type of strategy as eager loading limited
associations to filtering by limited associations.

If a limited association is used when filtering by associations,
Sequel automatically uses the more complex filter that would be
used if the association had conditions, but with an additional
subquery in that filter to restrict the results to only those
where the object meets the limit requirements for the association.

This change can cause a significant slowdown, but it is required
to get correct results, and my assumption is that anyone doing:

  Artist.where(:first_10_albums=>Album[1])

really wants the artists where that album is one of their first
10 albums, not artists where that album is their 11th album.
Support :plain and :phrase options to Dataset#full_text_search on PostgreSQL

These make it easier to deal with searching based on user input,
since users generally will not be using text search boolean operators
or weight labels.