make stripe_id unique and avoid duplicate invoices
refactoring so we're less prone to race conditions
bugfix: do not finalise when creating subscription

We can still be in the situation that the subscription is up for a
trial first. In that case, the first invoice is not paid immediately,
we need to wait for the payment succeeded hook.
fix specs
remove useless rescue
some explanation + rescue error when invoice is not editable anymore
Merge pull request #54 from piesync/races

Prevent races