Improve interaction with Git remote repository

- Now fetches all branches in the deployment process
  (avoids pull errors when branch does not yet exist in local repo)
- Also now requires mail server be specified.
  (avoids having to edit the code to set the server name)