FS#1746 Add plugin/template metadata and extend plugin manager to use it

Plugins

1) download and install plugin archives that are created by github
tags (and others)
Problem: Automatically created downloads at Github contain some badly
named root directory, so this directory has to be renamed to the
correct name (but how to determine it?).

2) install new templates (and list existing templates)
Problem: There is no easy way to recognize if something is a template
or a plugin currently.

3) make plugin info handling a bit easier
Problem: When a plugin contains several components, each has it's own
getInfo() function that needs to be updated

All 3 tasks are related and would be solved by the same idea:

I propose to add a control file into the plugin/template folder
similar to what some plugin authors already use for solving the
getInfo() problem.

The file would be named 'plugin.info.txt' or 'template.info.txt' depending on
if it is a plugin or template -> solves problem 2

The contents would be simple text, parsable with conf2hash(). One key
would be the name of the plugin (called id below) -> solves problem 1