publish: improve error reporting for comments, likes, and shares

- change create methods to return a tuple containing the result and
  a descriptive "failure" object (instead of throwing
  NotImplementedError)
- give informative error messages when publishing comments, likes,
  or shares without a target url for the given silo
- added unit tests for the more detailed error reporting for facebook
  and twitter publishing
remove as_source._creation... helper methods
change CreationFailure to CreationResult unifying return value from create methods
Merge pull request #15 from kylewm/publish-reply-errors2

publish: improve error reporting for comments, likes, and shares