[PLAT-3508] - Fix poor performance of market data subscriptions

Additional logging for places where subscriptions fail.
[PLAT-3508] - Fix poor performance of market data subscriptions

Switch to Java 7 generics, and joda bean generation
Merge remote-tracking branch 'origin/develop' into develop
Reversing accidentally-committed changes
Removed second getResults so function resolves with MissingInputs if time series isn't available
[PLAT-3575] Scenario selection fixed markup, removed unnecessary block elements
[PLAT-3558] Refactor Simulation API, integrate with ScenarioDefinition
Skip the test if null is passed.
Recognise currency targets.
When used as an aliasing function, don't ignore missing requirement.
Don't clear "change" state messages if a secondary worker is already running.

Not doing so may mean the event gets lost and the necessary recompilation never happens.
Create sub-map by terminal outputs. Only print each node once for debug.
[PLAT-3574] Don't remove terminal outputs for positions or trades that are still referenced elsewhere in the portfolio.
[PLAT-3578] Gather position level requirements if at least one parent node is not excluded.
[PLAT-3558] Javadoc
[PLAT-3564] NaN handling in BlackScholesFormulaRepository
[PLAT-3520] Test contingent leg integration schedule
[PLAT-3558] Ongoing improvements

Single shift for yield curves
Initial incomplete vol cube support
Regex matching for market data ID values
[PLAT-3575] Scenario selection dropdown populated with endpoint
Compress the depency graph debug output to reduce space