Git salt refactor

This is mainly a refactor of the `git-salt` code into modules.

@rginda