Add strategy option to git method

- Set force push as default strategy (avoid breaking change)
- Add submodule strategy
Merge pull request #49 from cveneziani/git_submodule_strategy

Add strategy option to git method
Refactoring

- Create a class per method
- Create a class per git strategy
- Extract USAGE into a file
- Refactor git and ftp/sftp methods
Merge pull request #53 from cveneziani/refactoring

Refactoring
Merge remote-tracking branch 'upstream/master' into lftp

Conflicts:
	lib/middleman-deploy/commands.rb
	lib/middleman-deploy/extension.rb