Change component parameter access to allow per-instance params

Previously model component parameters were accessed by dynamically
created properties when the model component was created.  A problem
with this method is that properties are by definition class-level
attributes so that it was not possible for different instances of the
same model component class to have different parameters.  This was
mostly a problem for SolarHeat based components.

The new method is to use __getattr__ and __setattr__ and inspect
the self.pars and self.pars_dict attrs.

This commit also adds a test of this functionality.
Test round-tripping the multi-solar model through a JSON file
Update version from 0.2.7 to 0.3
Add code to enable randomization of ACIS FP model
Move gui_fit.py into xija as a module
Merge pull request #16 from sot/multi-params

Add ability to use multiple No. of solar heat pitch bins within the same Xija model.