Fabric: Let production() and staging() alter the settings

If production and staging commands can alter the settings based on the
received arguments it won't be necessary change all commands for altering the
settings before being run.

This way all the commands can be run in a feature staging server.
Fabric: Pass the branch once as argument when calling the environment

Set the branch in the settings when calling the environment instead of
passing it for every command which might need it.
Docs: Reorder Fabric docs to make them easier to follow
Docs: Convert to list the passwordless access section on Fabric docs

This way it is easier to read.
Docs: Some cleanups on Fabric docs
Fabric: Run update_db when running stage_feature

This is necessary when deploying test servers for features that made
changes to the database schema, thus making the copied database an
outdated one.
Fabric: Refactor _checkout_repo()

* Rename _checkout_repo() to _update_repo() which is more descriptive.
* Change the git commands it runs to better handle the cases where the
  branch to update was force updated.