Insert manual joins *after* generated joins.

Re-order query joins to make manually added joins be performed after
generated joins. This removes the need to workaround the current join
order, or redefine all association joins when you want to add an
additional join on a leaf table.

Refs #2179
Refs #2346
Fix failing tests.

Not everyone uses the same database names as me.
Merge pull request #3110 from cakephp/2.5-dbosource-joins

Insert manual joins *after* generated joins.