Netflix/RxJava — pull request #1192 by akarnokd (2014-05-12 14:32:41+00:00)
Title: ReplaySubject with time and size bounds

I've implemented the bounded ```ReplaySubject``` variants and removed the old ```OperatorReplay.CustomReplaySubject``` so the various ```Observable.replay()``` now use this version.
Note that this is based on the current ```SubjectSubscriptionManager``` and not my manager from PR #1185. I've copied the ```ReplaySubjectConcurrencyTest``` to check the concurrency properties.

The bounded buffering is implemented via a doubly-linked list where the back reference is a weak reference. This allows keeping a reference to the latest ```Node``` for each replayState and once a Node is no longer indexed, it will be removed by GC.

A concurrency review would be much appreciated.