Refs #4166. Added a window argument for plotSpectrum.

Argument to clear that window was added as well, but is not working yet.
Refs #4166. Updated documentation.
Refs #4166. Make clearWindow argument work.

Additionally, made it add the curves even if specified window doesn't
have any layers.
Refs #4166. Refactored plotBin.

So I have control over curve adding process.
Refs #4166. New argument for plotBin.

Plus some documentation updates.
Refs #4166. Make argument for plotBin work.
Refs #4166. Refactoring.

Created a function to do all the MultiLayer preparation stuff.
Refs #4166. New arguments for plotMD.
Refs #4166. Fixed the problem with plotMD IPython doc pop-up.

It wasn't able to display the default value of normalization correctly
and thrown an error. I will make further investigation into why IPython
fails to do so, but this quick fix seems to solve the problem which is fine
for this ticket.
Refs #4166. Added window name parameter to helper function.

All the plotting functions were specifying it afterwards anyway.
Refs #4166. Logic for new arguments of plotMD.
Refs #4166. Some code to made plot functions consistent.

Seemed to work without it, but it feels safer this way.
Refs #4166. Documentation for plotMDList.
Merge branch 'feature/4166_plot_spectrum_window_param' into develop