Update dsl#local_user method

- uses more portable `Etc#getlogin`.
- previous implementation with `whoami` returns a string with a newline
  at the end. This implementation returns a clean string. As a
  consequence `revisions.log` does not have a trailing `;` character at
  the end.
Merge pull request #1019 from bruno-/tweak_revision_log

Update dsl#local_user method
Revert "Merge pull request #928 from miry/before_with_args"

This reverts commit 55bf5763721906857b7f1b2e141d2645ed1f9193, reversing
changes made to 02b847e040abaeacf972545c088444d9705454c0.
Preparing Release v3.2.1
Update CHANGELOG.md
Refactor ask() to use Highline; support echo:false.

Note: a gem dependency for highline has been added by this commit.
:panda_face: Added tests for after/before hooks

https://github.com/capistrano/capistrano/issues/1004

The changes of #938 affect the order the task executes. The "prerequisite" task seems to be running as
if it was defined in a after block, which makes sense, since it is now invoked by the task instead of being a prerequisite.

Since there were missed tests and @juanibiapina added simple tests in #1005, and were modified in this commit to cover
current business logic of the master.
Merge pull request #1024 from miry/before

Added tests for before/after hooks
Merge pull request #1028 from mbrictson/highline-ask

Refactor ask() to use HighLine; support echo:false