Correct the tools import namespace

During the restructure I did not change the import namespace for the
tools module. Whoops...
Console logging should be at INFO level

When switching to console logging it did not match the level of file
logging, this meant that message were not being outputted and led to my
confusion. They are now at parity.
Include the url being written to when --dry-run

It is important to know the url that would have been written to as well
as the headers and body.
Entrypoint should be called with start and end

All collectors care about the time period they should be collecting
over, so these parameters should be passed throught to the entrypoint.
Migrate backdrop-ga-collector and plugins

This is the first of our existing collectors moving into the central
backdrop-collector. I have moved both the collector and the plugins that
were extending its functionality in the same seem. I moved them both as
the plugins seemed linked to the ga collector (the only user as far as I
can see) and it was causing me some pain keeping them apart. If the
feeling is against merging the plugins too this can be revisited.

During the migration I have changed a couple of things:
  - As there is no longer a `collect.py` to kick it off I have created
    an entrypoint in backdrop/collector/ga/__init__.py so that it can be
    referenced in the query.json as backdrop.collector.ga. There seemed
    to be some unused code in __init__ so I nuked that while I was at it
  - ga.py was renamed to core.py as it seemed a bit weird having a
    ga/ga.py
  - The plugins have been moved into the backdrop.collector.ga package
    as it seemed to be the only collector they were being used by at the
    moment
  - I pulled the tests out of the plugin modules and moved them into
    sepearate test modules so that they would play nicely with setup.py
  - the ga collector now shares backdrop.collector.write.DataSet to push
    its data into backdrop. Yay for more shared code and it makes
    creating functionality like --dry-run easier
  - As part of moving to writing with DataSet I removed the JSONEncoder
    that was in the ga collector. This seemed to be doing virtually the
    same thing as the one in DataSet. The only difference was that the
    encoder DataSet used would force the time into UTC before submitting,
    which generally seems like a good thing

I've tested the merged collector with a few converted queries
(govuk_most_viewed, gov-uk-content-devices-count and
gov-uk-content-social-rate) and they all seemed to still work as
expected.

The dataType field which used to be passed into the query is now
derieved from the data-group and data-type combo that generate the url
for the collector to write to. There is a small chance that one of the
queries has a different dataType to the actual data type of the data set
that it is writing to; this could lead to inconsistency in the data as
the field is used to derive the _id of a document if no idMapping is
provided.