Introduce base class for algorithm directives

This will allow for common code to be inserted in the new single run method
Refs #9654
Skip sphinx directive if algorithm is currently unknown.

Spits out a warning on the output page and in the build to indicate
that the directive was skipped. This is required to make development
builds that don't have all libraries built easier to work with.
Refs #9654