Measurement control experiment data
This MR allows the user to save some custom experimental metadata in the measurement control QCodes instrument, which will be saved in the snapshot.
There are use cases where the user may want to save some data in the snapshot which would not otherwise be saved. For example, ManualParameters which are used in the measurement functions, but do not belong to any existing Qcodes instrument.
This MR creates a new submodule within the measurement control called experiment_data. This allows the user to save any custom data as QCodes parameters wihtin the experiment_data submodule. They will then be saved in the snapshot and can be looked up later. The parameters of experiment_data can be set using the set_experiment_data, which takes a dict of parameters and their relevant attributes. The submodule can be cleared using clear_experiment_data.
I wanted to call this new submodule metadata, but it turns out that QCodes instruments already have an attribute called metadata which does something different.