Started with plug-in system. Implemented dynamic loading. Plug-ins should provide:
NAME, LINK (may be None), URLS.
start and stop method.

See system_update for (an incomplete) example.
Merge remote-tracking branch 'upstream/refactor' into refactor