Added a cpu intensive realtime polling option for the exchange connectors.
Fix race condition in the router
Submodule update for jml and soa
Adds support for optional provider config params to adx connector.
deduplicate agent stats logging per account key
Adds support for adgroup_id to adx exchange connector.

An agent can now set in the adx provider configuration the adGroupId
parameter, it is of type int64_t and optional. If set on the config it
will always be set in the bid response if the matching bid request
had it declared for the given adslot match data, otherwise (there is
no match) the response will be filtered and a 'No Bid' will be
sent as a response.
slightly improved element insertion when reporting agents stats
Merge branch 'USMediaConsulting-adx-adgroupid'
ADX connector now sets the BidResponse.Ad.vendor_type attribute.

This attribute is mandatory according to ADX's RTB protocol
specification.
ADX connector now sets the BidResponse.Ad.width and height attributes.

This attribute is optional according to ADX's RTB protocol specification
unless the bid BidRequest.AdSlot has more than one width and height
or if BidRequest.Mobile.is_interstitial_request is true. So setting
it anyways will not do any harm.
ADX connector now handles restricted categories.

Restricted categories need to be declared in the creative provider
configuration. The attribute is 'restrictedCategory' and it is a string
containing numeric ids separated by white spaces. I.e.:
restrictedCategory = "33 58"
If no restricted category applies then it should be set to 0 I.e. :
restrictedCategory = "0"

The doc says that if you are bidding with ads in restricted categories
you MUST declare them in BidResponse.Ad.restricted_category. This
way if a creative declares a restrictedCategory X and the request does
not allow it, it will get filtered and a 'No Bid' will be sent back.
Otherwise if the request declares X as allowed, it will be specified
on the response.
use alternate way of registering StructureDescription<RTBKIT::JsonHolder>
fixed build error
Replace atoi for std::stoi in adx exchange connector.
BidRequestSynth's generate function now accept a full RNG object.
Intial drop for MoPub Exchange Connetor.
* Mostly relies on OpenRTB2.1
* Checked against MoPub's sandbox.
* TODO: check the many assumptions:
  - rtt <= 200ms
  - optional fields of BidResponse made mandatory by MoPub (e.g. iurl)
* TODO: customer integration/validation
Merge branch 'adx-features' of https://github.com/USMediaConsulting/rtbkit into USMediaConsulting-adx-features
pruned unused code
adding makefiles
Merge branch 'MOPUB' of https://github.com/jsulmont/rtbkit into jsulmont-MOPUB