Add convenience #outer_join

This is the same as #180, but applied on the latest master. All the tests passed locally for me, so I'm hoping the travis failures are gone now as well.

closes #180.

@beedub @tenderlove @arthurnn