plugins: `bin` and `config` only plugins do not install correctly

When installing a bin only plugin, it is identified as a site plugin.

A current workaround would be to create in the zip file another empty dir. So if you have:

* `bin/myfile.sh`
* `empty/empty.txt`

the `bin` content will be extracted as expected.

Closes #7152.
Maybe define a set like the existing "BLACKLIST" set in this class but which is called "VALID_TOP_LEVEL_PLUGIN_DIRS" or similar.
Then you can just check if the single root directory is contained in this set?