[TASK] Derivatives extend AbstractFlowPackage

This introduces the assumption that all packages, derivatives as well
as boilerplates, are Flow packages. However, I want to make sure that
some form of PackageStrategies can be introduced at a later date.
Such a system would pick between a Flow Package Strategy and some
kind of Irregular Package Strategy for Derivative packages.
Boilerplates will (probably) always be Flow packages (unless someone
decides to really go hog wild and makes a resources-only kind of a
boilerplate package that is not a flow package, but contains things
like the derivative.yaml file...).