Fix split command argument leading to error raised and incorrect path returned
Merge branch 'master' of https://github.com/capistrano/capistrano into fix_last_release_path_bug

Conflicts:
	lib/capistrano/tasks/deploy.rake
remove last_release_path and add check in rollback_release_path

- remove last_release_path task per seenmyfate
- add error check per seenmyfate
:panda_face: Updated the loading default config tasks and stages config tasks.

To show all tasks decalred in default config and stages files was missed from the tasks list.
Added default value for :stage and load all default configs. Also added cucumber tests.
:panda_face: Added ability to add args to callabcks after and before.
make sure deploying? method is available beofre testing it, fix #915
Update ´invoke()´ docu in README

Update following user report in #571
Call branch proc by default in deploy.rb template.

If a proc is used in an ask and no input is entered for the ask, `question.rb` will use the default value, which is a proc object and *not* its returned value. 

Without `.call`, we can get issues like the following, from `capistrano-rsync`:

Code:

```ruby
      checkout = %W[git reset --hard origin/#{fetch(:branch)}]
      Kernel.system *checkout
```

Error:

```
Please enter branch: |master|

fatal: Invalid object name 'origin/#<Proc'.
cap aborted!
```
Don't ignore options passed to release_roles

Previously the merge wouldn't change the options in place.

I thought about changing it to merge! but I'm not sure if it's a good idea to have such side effect.
Merge pull request #969 from townsen/master

Added keys method to Server properties
Combined emphasis use underscores
Merge pull request #975 from nemesis/patch-1

Combined emphasis use underscores
Fix some typos
Fix typo hg vs. svn
Merge pull request #977 from carlosbuenosvinos/patch-1

Fix typo hg vs. svn
Merge pull request #976 from jwworth/task/fix_typos

Fix some typos
Correct typo in changelog.
Merge pull request #978 from jjoos/master

Correct typo in changelog.
Use a string for the ensure_stage task

Rake 10.2.0 introduced new task name checking which started raising `TypeError: no implicit conversion of Rake::Task into String` errors when trying to deploy. This is because `@top_level_tasks` is expected to contain strings, not Rake::Task objects.
Amended the git check command, "ls-remote", to use "-h"

this limits the list to refs/heads, thus reducing output noise