info.xml - Allow extensions to define a list of tags
Overview
--------
This adopts a convention by which extensions may use `info.xml` to register tags, e.g.
```xml
<extension key="org.civicrm.foo" type="module">
<tags>
<tag>civicontribute</tag>
<tag>payment-processor</tag>
<tag>install-mandatory</tag>
</tags>
</extension>
```
Before
------
To add *any* metadata to `info.xml` files, you must update the parser and providing
filtering/indexing.
After
-----
If you need to add very simple metadata (tags), you can do that without
extra parsing code. The tag information can be accessed in the following
ways:
* Using the extension mapper
```php
$mapper = CRM_Extension_System::singleton()->getMapper();
$allTags = $mapper->getAllTags();
$mandatoryExts = $mapper->getKeysByTag('install-mandatory');
```
* The `Extension.get` API will return the list of tags for each ext