detect if multiple rules constitute a composed inexplicit foreign key

example:
a database without foreign key constraints:
  TABLE1(PK1, PK2)
  TABLE2(REF_TABLE1_PK1, REF_TABLE1_PK2)
config:
  TABLE1.PK1   x
    TABLE2.REF_TABLE1_PK1
  TABLE2.PK2   y
    TABLE2.REF_TABLE1.PK2

Previously, if rows from TABLE1 were deleted, matching rows in TABLE2
would not have been deleted because no match from either column with
TABLE1's full primary key (under which the deletion is stored) was possible.
Now, from both implicit foreign keys derived directly from the rules
a third relationship (REF_1, REF_2)-->(1, 2) is generated which can refer
to the primary key.
remove small code duplication in TransformationStrategy
fix == vs. equals in Config.java
add test for SafeStringSplitter with separator between quotes
extended dependency detection by Analyzer

dependencies are now also added if no transformation is applied to a
column, this is useful if not required for the correct deletion of
dependent rows

foreign key relationships are now checked in both ways
(imported and exported)
fix whitespace errors
use nio for config and scope reading, force UTF-8 charset
don't use ArrayList in Rule's interface but List instead
introduce exception for malformed configuration files

currently thrown only if a db specification does not have three parts
might want to merge DependantWithoutRuleException here later
move NO_OP_STRATEGY_KEY to class Config

since it is a configuration interpretation detail
make ConstraintToggler.disableConstraints static
introduce SQLHelper.setSchemaStatement

and use "set schema <name>" as per SQL-92 standard
disable license header generation for now
let ConstraintNameFinder also search imported keys

this will cause constraints to be disabled where the parent table is
out of scope, reenabling them might not work, but the data is copied
allow for teardown SQL files to be executed for database tests

these would delete the created tables and schemata
don't remove rules which are already dependants of rules with same strategy

rather set their strategy to no-op
split TestDataFixture.populateDatabases

so the data can also be inserted without creating the tables first
this is a preparation for use with persistent test databases
create target schema in transformation database if not already present
DB2 does not like nullable columns in the primary key
use Set<Constraint> for ConstraintToggler instead of List

the order should not matter when all constraints are toggled