support MySQL and PostgreSQL extended DELETE syntax

note that this also adds support for limit on all adapters by doing a subquery (just like update)
it's checking if there's a join. if there is, it does the special syntax here. otherwise, it just calls super and let's the default implementation have it. do you prefer something besides is_a? ?