heavy lifting removed from main queue thread

first WORKING version of app with heavy lifting removed from main queue
code may still be ugly and need more work
but commiting here b/c it is working

JSON parsing happens on noLimitQueue nomaxconcurrent
image requests regulated by imageQueue maxconcurrent: 5
data->image processing also happens on noLimitqueue

all returns - completion block results, notifications - enacted on
mainqueue

offsetsComplete - new int tracks the latest completed offset - for
checking before any reloaddataatindexpaths calls -  on completion block
return and search results update, this is updated.
any reloaddata at indexpaths calls must have indexpaths under last
completed offset to ensure photo objects can't update the
collectionview before they are returned into the collectionview source
array

searchbar resizes dynamically so it changes to correct size when
orientation switches.