Add retry logic

misc other changes, including 7 day availability window, and adding ePID as other Identifier on OnDemands
I think this class is a mess, and is being refactored soon. I also think the time constraints of the current piece of work have meant that clearer/more sensible architectural choices may have been discarded in favour of something quick that 'works'.