Socket creation simplication

Sockets can now be created in four new ways:

* `context.socket(ZMQ::DEALER)`
* `context.socket(:DEALER)`
* `context.socket(:dealer)`
* `context.dealer_socket`

The old way, `context.socket(Bundesstrasse::DealerSocket)` is gone. All of the `Socket` subclasses except for `SubSocket` are gone, they only added the `.type` accessor which was only used by `Context`, and that usage has been replaced by the mechanisms above.