Matcher for finish() and tests
Added sendValues() succeeds if Signal sends all values
Removed test proxy idempotence & associated category on RACSignal

There was really no need for this to exist, it was an attempt to make
tests run faster and more predictably if they are operating on the same
events that the original Signal has sent.

We should really be concerned that a Signal behaves in a consistent
manner, and encourage the usage of Cold Signals. A Signal that does not
behave in a repeatable manner, after the first subscription will be
more likely to fail on successive subscriptions brought about by being
subscribed to in successive epectations.

If this behaviour is needed, in the case of a Signal that may only ever
be subscribed to once, they original signal should be multicasted &
replayed.
Stop checking expected's type

I should really stop second guessing the compiler
A bit of tidy up and sanity with shared messages
Subscribers -> Helpers
Added tests for actual of wrong class
A bit more cleanup of messages
Better failure messages with string formatting
Removing unnecessary TestProxies and subscribing directly

There is no need to use the proxy directly at all times, also disposal is now handled and subscription is lazy
Removing proxy in haveIdenticalErrors()
Initialize block variables to NO/nil
LLSignalTestProxy more appropriately named as LLSignalTestRecorder
All test_expects use to as well as notTo
Added some missing tests and fixed up some wording for identicalEvents
Added valuesAsynchronously