additions to atom feed and validation changes

I was using this package in one of my projects and came across a few minor things in it which I needed to modify. I added "icon" as an option to the feed so that it can be used in addition to "image" which was already mapped to "logo" in Atom. I also added "published" to the feed entries. I made some of the validation checks more precise, such as making "link" only required when "content" is not supplied, similar with "id" which can default to "link" if not supplied explicitly.

Thanks for making this package! It was a pleasure to use!