Ensure that tables are truncated for mapping import specs

We were seeing a test failure intermittently in the mapping import
'an import for a site managed_by_transition' spec: creating a site
with the abbr 'ago' failed on validation, because a site with that
abbr still existed from a previous test and the abbr must be unique.

This only happened when 'handle a CSV with no rows' was run
immediately before 'an import for a site managed_by_transition'.
These two tests were using only the transaction strategy for
Database Cleaner, whereas all other tests in that file were already
using truncation via testing_before_all: true, so any other test run
order truncated the sites table between those two tests and so the
'ago' site could be created both times.

Both these tests should also use truncation because they use MySQL DDE,
although truncating only around 'handle a CSV with no rows' was
sufficient to prevent either test failing when they are run consecutively
in either order.
Stop creating extra sites via host's association

When creating a host without passing in a site (before appending it to
site.hosts) the host factory's association was creating a second
unneeded site each time.
Remove last with_default_host trait usage

This trait was removed in 200e6db, but this instance was missed.
Merge pull request #133 from alphagov/fix_intermittent_import_spec_failure

Fix intermittent import spec failure, and tidy up site/host factory usage