TumblrPublishAgent

First attempt at a publish agent for Tumblr. Based very closely off of the TwitterPublishAgent. I'd like some feedback on the structure for inputs as well as the code structure before I start working on additional Tumblr-related agents.
Seems like validate_tumblr_options can just be removed entirely. This came from twitter_concern, should it be removed there as well? Same pull request?