add multi-fidelity metamodel

Extend metamodel capability to handle multi-fidelity surrogates.

`MultiFiMetaModel` class extends `MetaModel` by creating supplementary input params and responses *var*_fi\<n\> variables with n in [2, *nfi*] where *nfi* is the number of fidelities. The multi-fidelity surrogates are intended to be trained with a list of (m sample, n inputs) lists of lists. The fidelities are supposed to be ordered from the highest to the lowest fidelity (e.g. y better than y_fi2 and so forth...) and surrogates receive list of training data from highest to lowest fidelity.