Added basic support for Git-FTP

Currently it supports:

Define new scope (Git-FTP remote)
Delete existing scope
Switch between scopes
Init scopes after defined
Push to scopes
Enable/Disable Git-FTP features
This PR also rewrites most of the "remotes picker" feature.