Add retry logic

misc other changes, including 7 day availability window, and adding ePID as other Identifier on OnDemands
While generally in favour of the abstract template class pattern, i think in this case, where there are 6 plus methods, and revocation is an action that won't be performed in all cases (other data sources for example), then decorator is slightly more suitable. Not hugely in favour of either tbh.