MB-10086 [auto_collect]: basic manager and per-node processes

Adds two new processes for cluster-wide log collection:
collect_logs_manager and collect_logs_node:

* collect_logs_manager: gen_server responsible for managing a user's
  logs request, accepts requests for log collection and spawns a
  collect_logs_node process on each cluster node which logs are
  requested from, and aggregates their results.

* collect_logs_node: gen_server responsible for running cbcollect_info
  on a particular cluster node, and returning the result of that
  process back to the manager.

Change-Id: I6ef4c1b899a0519a317908f5e06b22170c71206f
MB-10086 [auto_collect]: Increment tasks version on start/complete

When the collectLogs task status changes between idle and running,
update the tasks version hash, to allow the UI to detect status changes.

Note the detailed progress (i.e. per-node status) doesn't trigger an
update of the version, only the high-level start/stop.

Change-Id: Ica1b87cfdceaa2c4dac51454293f426554e8aa18
MB-10086: Add python-requests 3rd party library

Requests is an Apache2 Licensed HTTP library, written in Python, for human beings.

From https://github.com/kennethreitz/requests/tree/v2.2.1

Used by cbcollect_info for upload (HTTP POST) of logfiles to our S3
space.

Change-Id: Ic21a15020257d144f747de69af3ab8c563f4f5db
MB-10086 [auto_collect]: Include timestamp in zip filename

Prefix each uploaded zipfile with the timestamp when the collection
was started.

Change-Id: If6041456e0939480098b4b17108010b3655125fd
MB-10086 [auto_collect]: Add recommendedRefreshPeriod

Change-Id: I4f180c604fa2e486ef9112c242b8eb4f69d96393
MB-10086: cbcollect_info upload support.

Created some new options that allows a user to upload the log directly:

--upload
--upload-host
--customer
--ticket

Using the requests library to do the upload.

Created --script to allow erlang to drive cbcollect.

Change-Id: Ie2dcd0be2c45ac031e949be0f4c8564ef8fe9668