DummyTestSite for test speed; add require_relative

Creating an actual ::Jekyll::Site instance was more expensive than it needed
to be for unit testing. However, some tests began raising errors because the
canonicalizer module wasn't imported quickly enough into joiner.rb; hence the
require_relative added to joiner.rb.
Select join source in JoinerImpl.initialize
Move create_team_by_email_index call to initialize

JoinerImpl.create_team_by_email_index MUST be called before
HashJoiner.remove_data is called on site.data['private']. The best way to
enforce this is to call it from JoinerImpl.initialize. Since
create_team_by_email_index doesn't actually alter the data in site.data, but
rather builds a new index from it, there's no harm in calling it from
initialize.
Extract JoinerImpl.setup_join_source
Replace join_private_data with join_data
Merge branch 'master' of github.com:18F/hub into use-private-when-available
Merge branch 'master' of github.com:18F/hub into use-private-when-available
Merge pull request #22 from 18F/use-private-when-available

Use private when available