Simplified socket creation

The socket subclasses were just complicating things, now sockets are created with the ZMQ constants instead of Bundesstrasse socket classes.
Removed sockets.rb altogether and moved SubSocket into socket.rb

Also wrote specs for #subscribe and #unsubscribe
Sockets can now be created from symbolic names
Sockets can now be created with #rep_socket etc.
Removed the possibility of creating sockets using an upper case symbolic name
Removed Socket.type