[FEATURE] Make #send_action block until a response is received

* Better actor-like behaviour. Async or future may be used in cases where this is desirable.
* Doesn't require complex callbacks in cases where sync behaviour is desirable.
* Attatches intermediate events to the response. I've not yet seen a use case for handling these events as they arrive, so batching them seems sensible.
* Currently a loop-de-loop implementation, needs to have future resource on Action removed
* Paves the way for complete encapsulation of the Action object
[FEATURE] Allow a stream to be logged in directly
[CS] Client should delegate login to stream

Take advantage of new blocking nature of #send_action to avoid callbacks
[CS] Remove method that's not required
[CS] Whitespace
[CS] Remove synchronisation of Action state

Actions are now never leaked out of a Stream, so we don't need to worry about their state as much. This also means we no longer need future-resource.