Set revisions instead of branches to fail on

The previous method only worked if you had checked out
the current tree using its branch name and didnt
anticipate a detached HEAD, i.e. checking out a tree
using its revision or a tag. On most developer trees
that probably wouldnt matter, but Travis CI and
other automated systems work on detached HEADs. This
caused builds to illegitimately succeed.

One solution to this problem, implemented in this
commit, is gathering a list of revisions of branches
to fail on, and checking whether the current revision
is included in this list.

Resolves #41