REQS-306 - FX Swap nodes for curve calibration

Adds in fx swap nodes for use in curve configuration and calibration.

The new FX swap nodes are near identical to the FX Forward nodes and have tries to reuse code between them where possible. A subsequent PR will address usage of the new classes.
It would be clearer if the subtype were on the method signature.