Add test for outer joins and fix capability declarations.

We also support it directly in QueryInterpreter for MemoryDriver. The
test reveals that the drivers for Access, Derby, H2 and MySQL declared
the (already existing) joinFull capability but do not actually support
full outer joins.

Test in JoinTest.testJoin. Fixes issue #466.
Emulate outer joins where necessary.

- Add a new EmulateOuterJoins phase with the right settings. This is
  done automatically in RelationalProfile based on the capabilities
  declared by the driver.

- The joinLeft (new), joinRight and joinFull capabilities are repurposed
  to indicate *native* join support. Unit tests now ignore them and run
  all join tests on all drivers.

- Add phase benchmark logging to QueryCompiler.

Fixes issue #559.
Merge pull request #732 from slick/tmp/full-outer-joins

Emulate outer joins