Add from_block Database extension, for having Database#from block affect FROM instead of WHERE

I wish I realized this was an issue a few months ago, so I could
have made this the default in Sequel 4.  But this change is too
large to go into a minor release, so I won't be able to make it
the default until Sequel 5.  In the meantime, this extension
makes it easy to get the desireable behavior.
Fix RDoc for dataset extensions to show they return clones

The previous RDoc makes it look like Dataset#extension modifies
the dataset in place, when it actually returns a clone.  So use
an assignment to reflect that it returns something useful.
Add pg_loose_count Database extension, for fast approximate counts of PostgreSQL tables
Support LATERAL queries via Dataset#lateral

To use LATERAL queries, you tag the dataset you want to use with
Dataset#lateral, and when the subquery is literalized, LATERAL
is prepended to it:

  DB.from(:a, @dataset.from(:b).lateral).sql
  # SELECT * FROM a, LATERAL (SELECT * FROM b) AS t1"

LATERAL is supported on Postgres 9.3rc1+, HSQLDB, and DB2. It can
be emulated on Microsoft SQL Server using the
mssql_emulate_lateral_with_apply extension, which uses CROSS/OUTER
APPLY for the emulation.