Squashed commit of the following:

commit 2fe1cde018e14b5384d4435685d3940cc7610b3f
Author: Kevin Goslar <kevin.goslar@gmail.com>
Date:   Sat May 24 09:02:06 2014 -0700

    Extract business logic into dedicated methods

commit 44ae98c1347aacbe27f1f82fe1872ff2b42088ae
Author: Kevin Goslar <kevin.goslar@gmail.com>
Date:   Sat May 24 08:57:57 2014 -0700

    Better documentation

commit 9c4d792d8a9e34f6e3d76ff877ce7833bedf903b
Author: Kevin Goslar <kevin.goslar@gmail.com>
Date:   Sat May 24 08:57:44 2014 -0700

    Abort rebases against main branch while syncing

commit 7ffb4fa76bbea8a2469278968c700300629caf3c
Author: Kevin Goslar <kevin.goslar@gmail.com>
Date:   Sat May 24 08:35:25 2014 -0700

    Improvements to abort_pull spec

commit 3a1b24a5009e674b0ea12245761ad4f882ff9b5c
Author: Kevin Goslar <kevin.goslar@gmail.com>
Date:   Sat May 24 08:25:42 2014 -0700

    Improve console output

commit 6e9257d3b826da575e176b173702cf35e70c939f
Author: Kevin Goslar <kevin.goslar@gmail.com>
Date:   Sat May 24 08:08:52 2014 -0700

    Use built-in branch methods for testing

commit 7ed0eca695c9b11a482b30d25a0c371359288692
Author: Kevin Goslar <kevin.goslar@gmail.com>
Date:   Fri May 23 23:00:21 2014 -0700

    Rename spec

commit 363c8312ca9bb1a2fd1c5cdb685c4caaad063672
Author: Kevin Goslar <kevin.goslar@gmail.com>
Date:   Sat May 24 09:18:03 2014 -0700

    Fix console logs

commit 03c537f3b41f72e9f448d8dad0d45f9aabe9a8e4
Author: jiexi <jiexiluan@gmail.com>
Date:   Fri May 23 23:20:06 2014 -0700

    Add homebrew tap instructions

commit b147412a0fa917c37ef6174244e3436581db8cb5
Author: Kevin Goslar <kevin.goslar@gmail.com>
Date:   Fri May 23 22:50:14 2014 -0700

    Readme updates

commit 263927c39172da5f8bdcd34c8d4d4e99d3fcbbf3
Author: Kevin Goslar <kevin.goslar@gmail.com>
Date:   Fri May 23 22:50:03 2014 -0700

    Abort git sync after feature branch merge conflict

commit f749c67d1b1a38dfcd064642dca584295c0ba9c2
Author: Kevin Goslar <kevin.goslar@gmail.com>
Date:   Fri May 23 22:51:53 2014 -0700

    Extract red and green output into functions