Rename Subject to PublishSubject
Introduce Subject as analogue to RX ISubject
Implement RepeatSubject
Extract UnsubscribeTester to top level
Beef up UnsubscribeTester
Beef up UnsubscribeTester some more
Add unit tests to PublishSubject
Merge branch 'master' into replay

Conflicts:
	rxjava-core/src/main/java/rx/operators/OperationTake.java
Resolve merge conflicts
Merge branch 'replay' of git://github.com/johngmyers/RxJava into pull-218-merge-replay

Conflicts:
	rxjava-core/src/main/java/rx/operators/OperationTake.java
	rxjava-core/src/main/java/rx/operators/OperationTakeWhile.java
	rxjava-core/src/main/java/rx/subjects/Subject.java

- moved UnsubscribeTester into a package private class as I'm still undecided on long-term placement of this and the OperatorTester class
- merged DefaultSubject and PublishedSubject which were the same thing (lots more unit tests though from this pull request)
- still not sure what the right name is for DefaultSubject/PublishSubject
- renamed RepeatSubject to ReplaySubject to match .Net
- tweaked unit tests with InOrder while reviewing them to understand behavior
Merge pull request #241 from benjchristensen/pull-218-merge-replay

ReplaySubject - Manual Merge of Pull 218