Output up to date status on a push if nothing has changed for a ref, and refactored ref string parsing

Cleaner pull request, per our discussion in the original one. This one is missing the update to tips on push because I can't remember why I added it (wanted to add a test, and can't figure out how to test it :\). Will keep it separate for now and submit if/when I remember what it was for.