git ship [<branchname>] 

Allow git ship to take in an optional branch name.
Separated the git ship tests so this could be thoroughly tested.
Btw, its a good rule (in any project) to review refactorings like moving code to different files separately from changing/adding to that code. 

The reason is that it is impossible to see if you changed any of the specs while moving them, because they show up as deletions and additions here in Github. The reviewer has to look through all of them again, and will point out any issues he finds, even if you didn't create them, and just copied the code. 

Similarly, it is easier to reviewing any changes to the code separately from it being moved around, since that PR will be much smaller and more focussed around those changes.

These situations happen so often that I have created `git extract` for that use case. Is it possible for you to extract the refactoring commits from the additions of the extra functionality? If not, no big deal, its not that much code, and combing through it one more time will help clean it up even more.