Allow other plugins to provide plugin data too

The filter should return an array, this could be an empty array or an array containing as a minimum the below for each plugin, obviously with data for the provides/depends key where applicable:
```php
array(
	'plugin-dir/file.php' => array(
		'Name' => 'Plugin name',
		'Provides' => '',
		'Depends' => '',
	)
)
```
@westonruter Sorry, I don't agree. If no arrays were passed, we should return early, but if some arrays were passed, we should merge what we can and ignore the non-array arguments (or give a specific error message for those).
Returning an empty array if just one (out of a potentially unlimited amount of) argument is not an array would ignore the valid and usable data we did receive.

It's the difference between 'making the most of it' and 'rendering the plugin completely useless' and IMHO the first would be preferred.