[Schedule] Typeable, Data and Plated

Provide an instance for Plated so that we can access the immediate
descendants of a node in a tree of Schedule modifiers. This allows use
to avoid writting A LOT of instances for each new modifier we add,
because we can use overlapping instances to provide something to do when
a modifier doesn't match (for example, use plate).