Detect utf8 settings for MySQL.

An unfinished feature not quite brought across from TS v2. This will ensure the SQL statement `SET NAMES utf8` is added to sql_query_pre for MySQL databases which have encoding set to utf8 in database.yml.
Updating Combustion.
Adding Rails 4 to Appraisal.
Fixing deprecated set_primary_key call.
An array is returned (now that the method actually exists).
Rails 4 Patch: join.conditions is now join.scope_chain.
Rails 4 Patch: Arel queries have an extra space before ORDER.

Which broke my fragile regex tests… so now they're slightly less fragile.
Rails 4 Patch: Polymorphic conditions are now scopes.

Associations no longer support the conditions option, but allow for a scope, so had to figure out what those scopes expected.
Updating RSpec for Ruby 2-friendly unstubbing.
Ruby 2.0 is happy if we match on class rather than instance.

Don't ask me why, I don't have a clue.
Adding Ruby 2 and Rails 4 to the Travis matrix.