PLT-530 - MarketDataEnvironment, part 2

This PR adds overrides to two of the curve building classes in analytics to expose a more modern API. The original method parameters include arrays, concrete map types and maps with array values. The new methods use ``List``, ``Map`` and ``Multimap``.

Previously an instance of this class was explicitly created in the constructor of ``DefaultCurveSpecificationFn``. It's now created by the dependency injection mechanism when it creates the market data builders. It has two constructors so the annotation is needed to tell the injector which one to use.