Initial directive check-in. WIP

Directives will require quite a bit of rewriting, and I'm not entirely
set on how it will be implemented.  Therefore, I'm just doing an initial
checkin that should give an idea of what to expect in terms of the
internal structure of directives.