Add strategy option to git method

Here is a proposal of a strategy option for the git deployment method. Its value can be either `:force_push` or `:submodule`.

If you use the force push strategy, a branch will be created on the remote if it doesn't already exist and then a force push will be made to the remote branch. But if you use the submodule strategy, a fetch and rebase will be made before any commit and push to the remote branch. The default is kept to `:force_push`.

In my use case, the build folder is a submodule of development branch. That way I can push changes to my build branch from elsewhere than the build folder.

Please tell me if this could be useful to other people.