Develop

2nd PR

Adding in specs, addition of running the patch only if the version is correct, otherwise warning.

Can provide either a block to yield in the event of the version not being out of date, a message to run if it is out of date, or both.

This is to let people choose more finely how they'd want to use the library, and covers for cases where using a block to do the patch may not be feasible