Refactor browserSets

- useragents.ini now doesn't contain any groups
  any more. Just user agent definitions, display titles and icons.
  Removed sets:
 * active
 * current
 * popular
 * gbs
 * beta
 * mobile

- New sets maintained in testswarm-defaults.json
  Documented on the wiki:
  https://github.com/jquery/testswarm/wiki/Settings
  Added sets:
 * default
 * currentDesktop

- Fixes:
 * fixes #170

- Misc:
 * Remove natcaseksort() call in BrowserInfo::getSwarmUAIndex.
   If callers need to natsort it, we can call natsort locally.
   In most cases (such as on HomePage), we want to maintain the
   original order from the INI file.
 * HomePage uses the "default" browser set (most closely resembles
   the old "active" browser set).
 * "active" no longer has any special meaning in relation to what
   clients are accepted.
 * Adapt SwarmstateAction, browserSetsQuery.php and AddjobAction
   look in the browserSets from context->getConf() instead.
 * Added an "(everything) to browserSetsQuery.php
 * Re-order init.php, "AutoLoader" before "Load settings" so that
   BrowserInfo can be used.
 * Update object_merge(): Set 'add' option. Otherwise local settings
   in testswarm.json cannot add browserSets, need to allow unknown
   keys.
Merge pull request #175 from jquery/issue170

Refactor browserSets
Replace generic "Chrome" with regular versions.

- Issues:
 * fixes #78

- Misc:
 * Remove browserSets from -sample. -sample should be ready to cut
   and paste. Updating this sample after each browser update is
   pointless.
 * Re-order "User agents" section in HISTORY to match useragents.ini
   Chronologic order doesn't matter since this is all under the
   "new in X version" heading.
Add AboutPage (showing version information)

- Add AboutPage using data from InfoAction.

- Refactor getVersionInfo in TestSwarmContext
 * Now returns an array with information instead of all in a string.
   so that users of InfoAction can use the separate pieces.
 * <meta name="generator"> now only shows the base TestSwarm version,
   not the Git HEAD (if available).
   MaintenanceScripts still show the current branch and HEAD.

- Misc:
 * Fixed layout bug in Page.php
   <footer> was left aligned. Now made part of div.container
   and added CSS to center text alignment.
 * Using different cache file name so that existing installs
   don't break. Did not add code to remove the old cache file,
   because this file was added recently within the current
   development cycle for 1.0.0-alpha.
 * ./config/version.ini is unchanged
update job.js: setTimeout within the load callback not outside
set Browscap cache to 1 hour instead of 5 days

- I updated TestSwarm based on a release from browscap.org
  Was erring on TestSwarm when deployed, turned out it cached the
  version from before the weekend, still.

- Bumping to an hour instead. Still more than enough.
update useragent.ini: Remove last (incorrect) digit for displaytitle of Opera browsers.

The [ID] part has to be this way because browscap calls them this way, eventhough the regex inside browscap checks for 11.5* etc.
fix, index is listed under jobs, not clients, happened to not fail by accident
Update dbInstall.php: prettify output

- Before
 * Dropping runs table... OK
 * Dropping jobs table... OK
 * Creating new tables... (this may take a few minutes)OK

- After
 * Dropping runs table... OK
 * Dropping jobs table... OK
 * Creating new tables (this may take a few minutes)...OK
Update references to old testswarm.ini

- Follows-up:
 * "Implement config-json"
   1fa22bc97376b0a2e08dedb7ac1df621a48f1d7b
Update dbInstall.php: Fix the require_once to match other scripts

- Update dbInstall.php:
 * Without the __DIR__ context, it will fail when the script is
   executed from directory other than testswarm root
   (e.g. `./scripts$ php dbInstall.php`
   or `jquery$ php testswarm/scripts/dbInstall.php`)

- closes #180