:sync action now also checks if update needed

* The :sync action used to only update to the desired changeset if the repo wasn't in sync
* This change means that even if the repo is already in sync, it will still check to ensure we're at the correct changeset
* All changes are now pulled from the remote repo
New :clean action which reverts and purges all changed and non tracked files