Define a single error domain with centralized codes
Use RACError codes for error generation
Keep Signals alive while observe() Disposable is

This way, you can hold on to one or the other—no need for both.
Inline EventBuffer behavior to reduce confusion

This makes the memory management way simpler, and makes the algorithm
more obvious overall.
Move SerialDisposable work outside of spinlock
Fix array manipulation in CompositeDisposable

how 2 array
Actually increment inFlight in Producer.merge
Refactored for Swift beta 4 compatibility
Merge pull request #1408 from ReactiveCocoa/centralized-errors

Centralize errors for Swift
Merge pull request #1409 from ReactiveCocoa/improve-memory-management

Improve Signal's memory management
Merge pull request #1423 from ReactiveCocoa/audit-atomic-usage

Audit Atomic usage
Merge branch 'swift-development' into pr/1422

Conflicts:
	ReactiveCocoa/Action.swift
	ReactiveCocoa/EventBuffer.swift
	ReactiveCocoa/ObjectiveCBridging.swift
	ReactiveCocoa/Signal.swift
Make Atomic and Bag internal-only
Make belated additions public

This stuff was added to RAC after the initial access control PR, so
they just weren’t around yet.
Make nested typealiases public
Make _empty consumer functions public

They’re used as default parameter values in Consumer.init, so I think
they need to be public.
Remove duplicative access control on extensions

It’s just shorthand for annotating each member. Let’s do that instead,
for consistency.
Make SignalingProperty.signal and .value public

This class is meant to be used and mutated by consumers, so it needs to
expose the machinery.
Make TestScheduler.ScheduledAction private
Remove prefix underscores on private functionality

Thanks, Real Access Control!®