Raise an error when Celluloid::ZMQ hasn't been initialized, instead of lazily initializing init

Lazy initialization is not thread safe. If the user forgets to call `init`, we want to fail fast instead of possibly creating thread safety problems.
Fix docs
Add a basic spec for testing a REP socket
Make sure waker is shut down. Fixes mailbox specs

Requires celluloid/celluloid#376
Add a spec which checks pipelining of tasks when using ZMQ sockets