Allow specifying only a push and only a pull from a remote server.

This allows a user to pull from a remote server, check for changes, commit them to git, and then push. Check out the demo I included to see how I am using it for my servers. I use this to enable my clients to make changes on the live server, and then I pull them down and commit them before I push my latest code to the server.