patching the parsing of specified currencies in BidRequest.curr
adding parseISOCurrency(). still broken; BidSwitch
Add generic component to handle Creative configuration

This component takes as template parameter a class that'll hold the creative
configuration.  The connector is free to store and fetch whatever it needs.

For example, if a X connector needs the providerConfig to have the
advertiser name, it can configure the CreativeConfiguration class to
look for it. If not found, depending whether the connector requires this
configuration, the creative can be marked as "no compatible".

Snippet expander has also been implemented. For example, if a variable
fetched from the configuration is said to be a snippet, the value will
be looked up for variable between two markers, by default
%{this.is.a.variable}.

A variable represents a path to a value. This path can start from 3
distinct locations: the bidrequest, the meta information and the
creative.
Examples:

creative.width
bidrequest.publisher.id
meta.companyUserId

During the initialization, the CreativeConfiguration class will do its
best to optimize the expander:

* it will compute the list of variables;
* then it will get the offset of the part to replace in the snippet;
* it will also check that if the variable has a "fast" lookup (see later)
* and finally a functor will be computed.

When a variable is looked up, there is 2 possibilities:

* the variable exists in the expander dictionary;
* it does not.

If it does, the value can be fetched directly, otherwise, the expander
will encode back the bidrequest or the creative to fetch the needed
value. About the meta information, this transformation will always be
performed.

It is also possible to filter the value before injecting them into the
final snippet.
For example:

    %{meta.companyUserId#upper}

It upper the whole string.

There are 2 existing filters:

* upper
* lower

Filters can be stacked:

    %{meta.companyUserId#upper#urlencode}

urlencode is an useful filter not provided here.
Migrate Rubicon to Creative Configuration Component
Migrate the adx connector to the Creative Configuration Component
passes testing with Ipponweb
added bidswitch_exchange_connector_test
Merge branch 'creative-configuration' of https://github.com/daedric/rtbkit into daedric-creative-configuration
modified content to be Utf8String instead of string, since utf8 is sent from openrtb exchanges.
Merge pull request #132 from rtbkit/utf8fields

modified content to be Utf8String instead of string, since utf8 is sent ...
Merge branch 'BIDSWITCH' of https://github.com/jsulmont/rtbkit into jsulmont-BIDSWITCH

Conflicts:
	plugins/bid_request/openrtb_bid_request.cc
Removed duplicate currency parsing code
Merge branch 'jsulmont-BIDSWITCH'
Segements are now sorted when read from json.
Generalize currency in rtbkit

And add EUR currency
Make exchange connectors currency aware
Convert price to double or approriate according to the given ratio

This is to avoid compilation error with the next commit
Check at compile time precision loss with prices

It prevents implicit unsafe cast but allow implicit safe ones.
It offers exactly the same behavior as before the currency
generalization pathes but it only add static_assert to check if the
developer is not doing unsage operations
Merge branch 'currency-generalization' of https://github.com/daedric/rtbkit into daedric-currency-generalization
Fixed format string for int64_t