[WIP] Attribute refactor

This is a pretty big refactor that splits Attribute responsibilities across reader and writer objects. This is still a WIP. I pushed early so that I can track travis status. I'll let you know when it's ready for a review.

EDIT: @dkubb @mbj this is ready for a review :smile: I still need to add mutation cov but I think I'm gonna hold off and wait until we have "types" extracted too