Add concat() builtin (fixes #201).

This allows to concatenate multiple vectors and single elements into a
single result vector.
Add feature registry.
Integrate feature registry with modules.

In case a module is attached to a disabled feature, the module lookup
will give a warning message and ignore that (builtin) module.
Integrate feature registry with functions.

In case a function is attached to a disabled feature, the function lookup
will give a warning message and ignore that (builtin) function.
Add GUI Settings page to enable/disable features.
Handle synchronization between Qt settings / GUI and Feature objects.
Add concat() function to list of experimental features.
Keep cmd-line and GUI separate in terms of preferences, handle experimental tests separately, minor cleanups
Merge pull request #2 from openscad/vector-concat

Some cleanup
Update .gitignore.
Merge branch 'vector-concat' of git://github.com/t-paul/openscad into t-paul-vector-concat

Conflicts:
	src/Preferences.ui
Update comment to reflect changed behavior.
Merge branch 'vector-concat' of git://github.com/t-paul/openscad into t-paul-vector-concat