Merge pull request #93 from alphagov/factor-out-common-parse-logic

Factor out common parse logic
Merge pull request #94 from alphagov/factor-out-common-push-logic

Factor out common push logic
Adds a webtrends collector for daily reports data

This does not handle the special case of keymetrics.

By default it collects daily. This means that for a given date range it
will make a query for every day in that range in an inclusive fashion
(e.g. the last day will be 'end_at' to 'end_at + 1' day). This is
because the api aggregates date ranges by default. Most of the logic is
doing this querying and parsing the date formats used by webtrends and
the nested json returned by the api.

The main integration type test is test_collect_parse_and_push.

This also includes some changes to data_parser to handle empty special
fields (though this is not needed in this collector).

The use of this new collector will be documented fully in the collector config
repo.
Handle when we already have a date from start at and end at
Handle no data in period for webtrends

e.g. when no visitors on a day
Handle when no data passed to push

this is possible from webtrends when there is no data in a period e.g.
for visitors
wip Remove timeSpan for data parser

this is specific to ga and should not be here