Feature/eliminate duplicate setter code

Moves metadata assignment for common streams (DC, MODS, properties) into a module for reusability's sake.  Also makes sure that any complex logic required for this module is pushed down into the datastream model level.  Resolves #63