Failing test that HotSignal generators stay alive
Make a HotSignal's generator keep it alive
Refactor lifetime tests to verify deallocation

Closures seem to make ARC behave better.
Merge remote-tracking branch 'origin/swift-development' into hot-signal-generator-lifetime
Test that interval() terminates upon deallocation
Test that derived signals are _not_ kept alive

This is a reversal based on the discussion in #1608 and in chat.
Replace initializer with HotSignal.infinite/finite
Detach all observers when a finite signal is done
Allow nil disposables even for infinite signals
Refactor HotSignal callers to use finite/infinite
Rename infinite/finite to “weak” and normal init
Reorganize existing HotSignal lifetime tests
Refactor HotSignal lifetime tests around new API
Verify that derived signals don't live too long
Failing test for take(1) on a weak signal

Currently, this causes the weak signal to live forever.
Make HotSignal.take terminate ASAP

Before this change, it was terminating on the value _after_ the count.
This makes it terminate when the count is reached.
Capture ObservableProperty in buffer() signal

Otherwise, it can deallocate too early, now that take() disposes of
itself.
Test merge() lifetime
Merge pull request #1608 from ReactiveCocoa/hot-signal-generator-lifetime

Keep HotSignals alive for as long as their generators are