Strip duplicate querystrings from the url before adding document.location.search

When a querystring is passed with the url (for example Translatable locale) it is duplicated each time the content panel is reloaded, by adding document.location.search and so it should be stripped from the url first.
Installer regression from dd49834
Allow non-action buttons to pass through validation (fixes #2527)

The specific example for this issue is InlineFormField - results in actionName() on non-object error. See #2527 for context.

Include parentheses for coding conventions
Merge pull request #2533 from kinglozzer/2527-cmsform-inlineformactions

Allow non-action buttons to pass through validation (fixes #2527)
Running Travis+Behat through Selenium, save artifacts
Regression in travis.yml ($WEBROOT undefined, matrix broken)
Running Behat tests on PHP 5.4 (needs integrated webserver)
suggest that arg_separator.output to be &, if set to something else it may result in issues with url parameters
Merge pull request #2535 from Martimiz/3.1

Strip duplicate querystrings from the url before adding document.location.search
changed install.php5 to respect line length limit according to SilverStripe coding conventions
formatted install.php5 according to SilverStripe coding conventions (tabs instead of spaces, no 1 line if with else, ...)
formatted install.php5 according to SilverStripe coding conventions (spaces)
Merge pull request #2549 from Zauberfisch/3.1

suggest that arg_separator.output to be &
Merge pull request #2550 from Zauberfisch/3.1

formatted install.php5 according to SilverStripe coding conventions
Use quotes around composer require argument for some shells.

The asterisk is a reserved character in some shells and will cause an error
if you don't put quotes around the argument, as it will be interpreted.
Merge pull request #2555 from halkyon/readme_fixes

Use quotes around composer require argument for some shells.