Advanced exception handling

New Exception handling:

* Added new exceptions (ZMQRuntimeException, InvalidSocketException, ContextTerminatedException) all extending from ZMQException
* Added utility to wrap exceptions from jzmq
* Added exception handling logic to wrap exceptions

Also, various cleanup and additional unit tests and updated to Java 7.