Prepare for 0.4.0.M1

Docs tweaking and package info renaming in README.md
The subscriber's implementation is more user-facing than the publisher's. Requiring users to remember that they should protect calls to `.cancel()` or `.request(n)` places a big burden on their shoulders, whereas existing publisher implementations with correct behavior can be transformed / manipulated into whatever shape one wants. And IMHO, besides the other restrictions that a publisher must have (i.e. processing demand correctly, non-concurrent notifications, etc...), for publishers, requiring instantiation and signaling of subscription objects that do not throw is a pretty light requirement. 

Plus, in libraries you only need to protect `request(n)` and `cancel()` at the edge, so the library could wrap the subscriber given to `subscribe()` into a safe subscriber implementation that does try/catch. I think this is best left as an implementation detail, or otherwise the behavior should be left as *undefined* by the contract.