Cameron and the conservatives are making great play about waiting to see what 'renegotiation' delivers.
I have no doubt that, should an 'in' vote not look certain, then Cameron and the EU will declare treaty changes are required and will be made to meet some objective or other (the actual detail doesn't matter).
At this point it will be declared that it is stupid to have a referendum until the treaty changes have been formerly completed as we will not know for sure what in or out means. And so the referendum will be postponed until the changes are complete.
The treaty changes will not be completed while an 'out' vote is likely.
So there will be no referendum from the Conservatives until 'in' is certain.
Then the only way to get 'out' will be to give UKIP an absolute majority in the 2020 general election.