Initial version of artifact definition validator.

@destijl for code review.

CL is ready for review but please do not merge with upstream, just yet.
So plaso and dfvfs are single quote projects, that's where it comes from. I'm fine to more to double quoutes.