Fix for joining-app-schema across multiple database schemas.

This patchset keeps track of the FeatureSources involved and asks them
for their table names, allowing the different JDBCDataStores to answer
with their own schemas. When generating joining SQL statements, it also
give *every* table an alias whether it's strictly necessary or not. This
simplifies the other cases where schema names could get confused.