Add Producer.retry

This implementation allows API consumers the choice of retry strategy
without being overly burdensome.
Disallow chaining of Promise.start()

This kind of chaining can open the door to a race condition where an
older disposable (from start().signal.observe) can overwrite a newer
disposable (set within the observation closure).
Add errorHandler parameter to Producer.bindTo

This emphasizes the fact that errors must get handled somehow in a
binding, or else that the caller is guaranteeing they won’t occur.
Merge branch 'swift-development' into retry
Update for new Optional behavior
Merge pull request #1443 from ReactiveCocoa/retry

Add Producer.retry
Merge branch 'swift-development' into bind-to-error-handling
Merge pull request #1445 from ReactiveCocoa/bind-to-error-handling

Add errorHandler parameter to Producer.bindTo
Merge branch 'swift-development' into dont-chain-me-bro

Conflicts:
	ReactiveCocoa/Promise.swift
Merge pull request #1444 from ReactiveCocoa/dont-chain-me-bro

Disallow chaining of Promise.start()
Merge branch 'swift-development' into swift-tests