For deploy:cleanup, use try_sudo with rm command.
Fixes parallel execution command logging, GH-434

branches when more than one is really an array of array and hence
must be treated as such.
Restore maintenance.rhtml

from 28c484f1f5e6a009d1b8ff07d85e924d6f947d3c^
Merge pull request #454 from joshstaiger/sudo_cleanup

For deploy:cleanup, use try_sudo with rm command.
Merge pull request #456 from chulkilee/fix-maintenance

Restore maintenance.rhtml
Merge pull request #455 from gnufied/master

Fixes GH-434, If branches is an array of array, iterate them separately.
Preparing Release v2.15.3
Fix parallel command execution logging parallely - GH434

Also add unit tests that reproduce the problem
Merge pull request #457 from gnufied/master

Fix parallel command logging properly
Raise error when more than one asset manifest file is detected

If a user is upgrading from Rails 3 to 4, the assets:precompile task will ignore the manifest.yml
that was generated in Rails 3 and generate its own JSON manifest. It's impossible for us to know
which manifest the user's current code requires, so it's important that we only have one manifest
in the assets directory at a time. When we detect two manifests, we raise an error pointing the
user towards a wiki entry explaining the problem and instructing them to remove the Rails 3.x manifest.
Properly deal with the asset manifest files when a user is rolling back from Rails 4 to 3.

If a user rolls back an application that was upgraded to Rails 4 to their Rails 3 code,
we need to remove their JSON Rails 4 asset manifest file and restore their YAML Rails 3
manifest instead of blindly restoring their manifest to whatever their current manifest
is named, as we do in all other cases.
Merge pull request #461 from jimryan/handle-assets-manifest-during-rails-upgrade

Handle assets manifest during rails upgrade.
Preparing Release v2.15.4
Support loading stage configs from additional directories

**This is an epic commit message. TL;DR - add a `file_in_load_path?`
method to determine if a file is in the Capistrano load_paths, and
change the multistage extension to use `file_in_load_path?` instead of
`File.exists?` when loading stage configs.**

I am working on a private Capistrano gem to consolidate our deploys into
one project. We are deploying to EC2 and use tags on the instances to
determine where to deploy each application to. Therefore the Capistrano
configuration for all of our applications is almost identical with the
only difference being the application name, and things that can be
derived from the application name. I want to be able to use the
Capistrano multistage extension to configure our different environments.
While testing this I discovered that I can not load the stage configs
from within my gem.

I tried the following config:

```ruby
set :stage_dir, 'stages/aws'
set :stages, %w(production staging)
set :default_stage, 'staging'
```

This config would not load the proper configs because stages/aws was not
found by the `File.exists?` call on
[multistage.rb#18](https://github.com/capistrano/capistrano/blob/master/lib/capistrano/ext/multistage.rb#L18)

Then I tried this config:

```ruby
set :stage_dir, File.join(File.dirname(__FILE__), 'stages', 'aws')
set :stages, %w(production staging)
set :default_stage, 'staging'
```

The multistage gem found the file in this example, but failed due to the
path not being in the Capistrano load_path. I tried adding the
`File.dirname(__FILE__)` to the load_path, but that did not work because
I still had to set
`:stage_dir` to `File.join(File.dirname(__FILE__), 'stages', 'aws')`
in order for load to be called.

To fix this I added a method to loading.rb to scan the load_paths for
the file requested, and updated the multistage extension to use the new
method.
Merge pull request #475 from skisulli/load-paths

Support loading multistage configs from any directory in the Capistrano load_paths.
Update assets.rb

In my understanding of unix shell conventions - the environment variables should be before the shell command. I noticed that a rake task that was scoped to be in ENV development or test was getting loaded in a completely different environment.

Pls Review so I can take my catchall hack out of my local rake task :D

thank you!
Merge pull request #477 from curtislinden/patch-1

Set Shell Environment before command on `rake assets:precompile'
Using quotes around SCMs usernames and password/passphrases

Closes #471
Merge pull request #480 from carloslopes/issue

Using quotes around SCMs usernames and password/passphrases