set/get 64 bit options in an architecture independent way

move pack and unpack operations into dedicated functions

closes #1
some code cleanup
zmq2 docs lie, ZMQ_RECOVERY_IVL_MSEC is not int64 it's int32

use ZMQ_SWAP instead which is definitely int64 after checking the source
only test positive option values (large negative don't make sense)