added ActiveRecord::Relation#outer_joins

Hi,

this adds the ability to use a `left outer join` query without writing pure SQL as an argument to `#joins` and also query for a specific selection of columns which doesn't work with `#includes`.

The ability to do this is already implemented in `ActiveRecord::Associations::JoinDependency#build` but it was only used with `Arel::InnerJoin` as `join_type`.
I am not quite sure about the tests, i just used the InnerJoin tests as a starting point. Any help would be appreciated.

Example:
```ruby
  User.outer_joins(:posts)
  => SELECT "users".* FROM "users" LEFT OUTER JOIN "posts" ON "posts"."user_id" = "users"."id"
```