changed @cached_parser memoization on Pareseable models to use defined?
it was using ||= and expensive operations sometimes return nils, which could potentially trigger bad behavior
refactored creation of feed items out of Feed#fetch_and_process into :process_feed_items
if feed_items fail to save, they are not counted as new feed items for the purpose of choosing the next backoff interval
fixed cloudspace blog url
some changes to metadata parser
the #image method now returns a URI object rather than a TempFile
opengraph and twitter metadata now have precedence over largest image for choosing canonical images
images must now be at least 300 pixels on a side in both dimensions to be saved
added some test stubs and tweaked worker process loop logic
Merge pull request #18 from cloudspace/68271620_well_behaved_validations

68271620 well behaved validations