ENH: added some future-proofing to Builder view params/components

experiment.py now checks components and params as they load

Future Params in components are kept with the info but marked with:
	param.readOnly=True
They show up in dialogs greyed out and get saved to new copies of the
file untouched.

Future Components now have a class of their own (UnknownComponent) that
ensures they show up in the Builder view (again, without the user being
able to alter their parames). No code will be written for Components
from the future.
TESTS: added test for new future-proofing in f9926c8

load a file from the 'future' (with fake params and components)

Also had to rebuild the Components template as these had changed in the
futue proofing and I've renamed the generator file by @jeremygray to
make it hopefully more clear what it does ;-)