Refactored socket property initialization [MINOR]
Better socket destruction
Added test context cleanup block issue

GitHub issue #22
Added more complete test cases
Refactored context, to track socket creation
Improved context destruction, clean sockets before term
Better docs [MINOR]