Enh parallel multifit

Enabling parallel multifit of a model. 

Actually includes lots of other branches merged:
 - https://github.com/hyperspy/hyperspy/pull/167 Model as dict
 - https://github.com/hyperspy/hyperspy/pull/202 Signal dict variance
 - https://github.com/hyperspy/hyperspy/pull/234 Enh fancy model indexing
 - https://github.com/hyperspy/hyperspy/pull/235 Bug: fold variance too, when folding signal
 - https://github.com/hyperspy/hyperspy/pull/236 ENH: fold model 

Mostly here now for testing purposes.

So please test and let me know if it works.

A known bug: not correctly initialising components that require some input (such as scalable fixed pattern, etc.) A preliminary (hopefully!) fix is in ENH_component_init  branch in my hyperspy repository