Bugfix/double linked self associations

Should eventually fix #1564.

I've got a test for the problem, and the first part of the solution in this branch - it creates the correct schema, at least

```sql
CREATE TABLE IF NOT EXISTS `Families` (`preexisting_child` INTEGER NOT NULL REFERENCES `Persons` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, `preexisting_parent` INTEGER NOT NULL REFERENCES `Persons` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, UNIQUE (preexisting_child, preexisting_parent), PRIMARY KEY (`preexisting_child`, `preexisting_parent`));
```

But there's still some problems; something in the way the associations are being set up means sequelize tries to run statements like 

```sql
INSERT INTO `Families` (`preexisting_child`) VALUES (2),(3);
```