Add Minimum Stability feature in Joomla! Extensions Update

# Executive summary

Joomla! extensions updater (Extensions Manager, Update) does not understand the difference between stable and testing releases. Moreover, it doesn't really allow developers to have two separate update sources for stable and development builds which can both provide updates to interested users (only the first available update site will be used at any time). This leads to one of two problems:

* If the developer doesn't provide development builds in the main update stream interested users do not get notified about development (alpha, beta, release candidate) builds of extensions and cannot test them, which leads to quality assurance issues for extension developers.
* If the developer does provide development builds in the main update stream unsuspecting users will inadvertently install them, possibly compromising the stability of their web site.

The solution is to allow the users to select the minimum stability of the updates they want to see on their sites, defaulting this to Stable versions only. This PR introduces this feature to Joomla!.

# Testing the minimum stability patch for extension updates

## Preparation
* Install the dummy test component from http://akeebatest.s3.amazonaws.com/dummy/com_dummy-1.0.0.zip

## Confirm the behaviour before the patch

* Go to Extensions, Extension Manager, Update
* Click on Purge. Then click on Find Updates.
* The latest version displayed is 1.2.0.a1 (that's the release marked as alpha in the update stream)

This is a problem because Joomla! proposes an alpha release for installation which is probably not what the average user wants.

## Confirm the fix after the patch

* Install the patch
* Go to Extensions, Extension Manager, Update
* Click on Options
* Under the Preferences tab confirm that the Minimum stability is set to Stable
* Click on Cancel
* You are back to Extensions, Extension Manager, Update
* Click on Purge. Then click on Find Updates.
* The latest version displayed is 1.1.0 (that's the release marked as stable in the update stream)

This makes sure that the average user won't be bothered with unstable releases.

## Confirm that unstable releases can be shown if so required

* Go to Extensions, Extension Manager, Update
* Click on Options
* Under the Preferences tab set the Minimum stability to Alpha
* Click on Save & Close
* You are back to Extensions, Extension Manager, Update
* Click on Purge. Then click on Find Updates.
* The latest version displayed is 1.2.0.a1 (that's the release marked as alpha in the update stream)

## Notes

Your test site needs to be able to access http://akeebatest.s3.amazonaws.com (that's an Amazon S3 bucket). Otherwise you'll get a warning that the update cannot be retrieved and the Update Site will be disabled automatically by Joomla!. If you have this issue and fix it remember to go to Extension Manager, Update Sites and re-enable the update site for the Dummy Component.

After the test you can safely uninstall the Dummy Component.

YOu can also test the installation of Dummy Component updates. You can always see which version of the Dummy Component is currently installed by going to Components, Dummy Component. The version will be displayed on your page.

## Known issues (unrelated to this PR)

Extensions using the Collection extension type may experience some weirdness which was already present in previous versions of the Joomla! CMS. Namely, if you have different versions of the same extension with the same target platform only the *first* version listed in the Collection will be shown in Extensions Manager, Update. This also applies to versions with a different stability.

Moreover, there's another potential source of confusion. A Collection defines several extension records, each one with a version. The extension record may be pointing to a regular update XML file which contains *more than one different versions*, each one with its own stability. Due to the way JUpdater has always been working only the version defined in the extension record of the Collection XML file will be displayed in the Extensions Manager, Update page. *THIS MAY NOT BE THE VERSION WHICH WILL BE INSTALLED*.

These issues have been present BEFORE applying this PR, therefore I consider them outside the scope of this PR. The only reason I am mentioning them is that they could be considered UX bugs. I want to make clear that they were pre-existing issues and outside the scope of this PR so please don't ask me to fix them – at least not yet :)

# Backwards compatibility

This PR is fully backwards compatible.

# Translation impact

This PR introduces seven (7) new language strings in the en-GB.com_installer.ini file. The translation impact is 4 minutes.

# Documentation impact

There is the need to add documentation for end users and developers

## End user documentation

See [Extensions Extension Manager Update](http://docs.joomla.org/Help33:Extensions_Extension_Manager_Update)

Currently the Options are not documented. If you add documentation for the Options you need to document the new Minimum Stability option.

The Minimum Stability option defines the minimum stability level of the updates Joomla! will propose you to install. By default this is set to Stable which means that only updates marked as stable (production quality) will be proposed for installation. The available stability levels are:

* Development. Unstable, work-in-progress builds. These are usually provided by developers to let you test new features or bug fixes but are extremely likely to break your site.
* Alpha. Early versions of extensions with missing features and a very high chance of major, show-stopper bugs. These versions are very likely to break your site.
* Beta. Versions of extensions in late development stages, where all features have been implemented. Some minor bugs are almost certainly present and there's a small chance of show-stopper bugs as well. These versions are not very likely to break your site.
* Release Candidate. Nearly finished versions of extensions, with the chance of minor issues. These versions are not likely to break your site.
* Stable. Production quality code. This is the recommended setting; stable versions are unlikely to break your site.

Please note that not all extensions provide versions other than Stable on their update servers. You may have to visit the extension developer's site to get access to less stable releases. Finally, not all developers provide stability information on their update servers. If no information is provided, Joomla! will assume that the provided updates are stable. If this is not the case please contact the extension developer.

## Developers documentation

See [Deploying an Update Server, bookmark Extension](http://docs.joomla.org/Deploying_an_Update_Server#Extension). The tags documentation needs to change.

tags. A list of tags relevant to this version. Joomla! 3.4 and later uses this to determine the stability level of the update. The valid tags are:
* dev  Development versions, very unstable and pre-alpha (e.g. nightly builds)
* alpha  Alpha quality software (features not implemented, show-stopper bugs)
* beta  Beta quality software (all features implemented, show-stopper bugs possible, minor bugs almost certain)
* rc  Release Candidate quality software (no show-stopper bugs, minor bugs may still be present)
* stable  Production quality software
All other tags are currently ignored. If you provide more than one tag containing one of the aforementioned stability keywords only the LAST tag will be taken into account. If you do not provide any tags Joomla! will assume it is a stable version.