Fix creation of qualified table when parsing foreign keys on MSSQL

You cannot use the double underscore notation except when the
schema and table are static.  When they are dynamic as they are
in this example, you must create a QualifiedIdentifier object.
Otherwise if the tables have embedded double underscores, you
end up with a broken identifier.
Fix RDoc in shared oracle adapter
Add Database#supports_partial_indexes? to check for partial index support (Fixes #698)

Previously, partial index support was custom and used just inside
the shared postgres and mssql adapters.  This commit makes it
part of the generic schema support.  It enables the support on
SQLite 3.8.0+, since that just starting supporting it.

This adds integration tests for both using partial indexes and
parsing partial indexes.  It turns out that on MSSQL 2008+, they
were being returned by Database#indexes, but they shouldn't be
(they aren't on PostgreSQL).  Unfortunately, it doesn't appear
that SQLite has the ability to see which indexes are partial and
which aren't, so it doesn't work correctly there.