Tidying up code coverage

When I don't run the feature tests there are several areas that are
not being tested. I want to shore that up.
Merge pull request #18 from ndlib/tidying-up-code-coverage

Tidying up code coverage
Moving method

Moving an implementation detail into a concrete class, instead of the
abstract.
Replacing magic string with constant
Adding comments and see also

[skip ci]
Comment smithing

[skip ci]
Moving methods for clarity

The runners are exposed in a somewhat more logical order.
Adding HeaderRunners::Index

This is a feature that will be required. Working the scope to reflect
this behavior.
Adding HeaderPolicy::Scope

Responsible for determining what all Header objects can be seen by
the given user.
Adding HeaderPolicy::Scope behavior
Merge pull request #19 from jeremyf/adding-header-index-with-scoping-question

Adding header index with scoping question
Correcting polymorphic relationship query builder

The previous attempt was much more naive, this is based on finding
the method that peforms the translation; Leveraging a .base_class

See ActiveRecord::PredicateBuilder.polymorphic_base_class_from_value
Adding guard against non-exposed form methods
Adding authorization enforcement for edits
Merge pull request #20 from ndlib/adding-authorization-enforcement-for-edits

Adding authorization enforcement for edits
Renaming EditHeaderForm to UpdateHeaderForm

This bring parity to the CreateHeaderForm; It also converges on the
language used for policy_questions (i.e. :create?, :update?) instead
of :edit?, :new?
Merge pull request #21 from ndlib/renaming-edit-header-form

Renaming EditHeaderForm to UpdateHeaderForm
Adding Policies to the object listing

[skip ci]
Adding a Sipity::Policies module

[skip ci]
Removing a few lines of code

I like the `yield(self) if block_given?` paradigm, but these lines
were not used. So out they go!