Removed UnbufferedChannel.

UnbufferedChannel, at least as implemented, doesn't make much sense -
at least 'send' needs to be blocking operation but that would be
different from semantics of 'send' in Channel.
Misc cleanups.

If sending data fails with socket, raise 'hangup' exception,
'sendall' should return None when data has been sent successfully.
Added 'location' methods to Coro and Channel.

'location' method returns copy of Location instance where Coro
and Channel are.
Removed '__eq__' method in Coro.

'__eq__' method in Coro is not needed; moreover, Python 3 requires
hash function provided if '__eq__' is provided and hashing for
Coro is needed because Coro is stored in Channel's subscriber set.
Coro's 'set_daemon' takes a flag indicating status.

'set_daemon' of Coro now takes a flag indicating if it is daemon
or not so coroutine can toggle status as necessary. The default
value for flag is True so it works same as before.
Fixed 'deliver' method for remote channels.

'deliver' method should send 'n' (min number of recipients) to
remote asyncoro in the case of remote channel, so the method
blocks until there are 'n' subscribers.

'transform' of Channel, if provided, is executed when sending
messages. This may fail, so protect it with try/except and treat
that case as message to be ignored.
Changed version to 1.5.

Prepapre for version 1.5.
Merge branch 'master' of github.com:pgiri/asyncoro