Added an implementation of the specification pattern

* Going to be used for generic validators on the skills and more,
eventually.