Added overload of recv that takes a target buffer

Original recv call allocated a byte[] to return the message payload received.
The overhead of allocating the buffer and the garbage collections that this caused lowered your total throughput.

the new recv takes a pre-allocated buffer, offset and length and populates min(message_size, len) bytes.

initial testing shows zero garbage collections triggered and an average throughput increase.

on my test machine, original recv on a pub/sub inproc socket (1 pub thread, 1 recv thread) achieved ~ 3.7 million messages per second
the new receive gives ~ 4.5 million message per second (with the added benefit of no garbage generated)
removed unused message tracker
Merge pull request #60 from peak6/master

overload of recv that allows user to pass in buffer for overall performance improvement
Cleaned up javadoc

was correctly stating that recv that takes a buffer returned the message as
a byte array.  It actually returns bytes read (or -1 on error)
Merge pull request #61 from peak6/master

cleaned up javadoc of new recv(...) function
ZMQ_IDENTITY has been removed from version 4
Fixed bug causing several socket options to be unavailable when libzmq >= 3.0.0
Merge pull request #66 from nicktelford/ad6b3845086e4211fadf4f440cebc63747b614b3

getLongSockOpt fails for several options under 0mq 3.x
Merge pull request #62 from pmarques/identity

ZMQ_IDENTITY has been removed from version 4
Types only have the ability to be int's
Merge pull request #67 from jhawk28/patch-1

Types only have the ability to be int's
Fixed setLongSockOpt() not permitting LINGER for ZMQ 3.0.
Merge pull request #69 from nicktelford/upstream-fixes

Fixed setLongSockOpt() not permitting LINGER for ZMQ 3.0.
Updated java checks in configure.in

Added a macro file for finding jni information on systems and modified
configure.in to take advantage of it.  Also made a few other minor
changes to the configure.in including a few more checks that were found by
autoscan.
Fixed the spec file for rpmbuild and included autogen generated files.

This was just a simple fix; the build does not like trying to call make
with the parallel option (-j).  Some users won't have autotools installed
and sometimes it shouldn't be expected, e.g. calling rpmbuild with the
spec file that is included requires that configure be present.
Merge pull request #71 from gui81/build-updates

Build updates
Add new 3.0.0 socket options

Adding MULTICAST_HOPS, RCVTIMEO, and SNDTIMEO socket options to match
the 3.0 baseline.
Add correct checks for version number

The version check was swapped. I also updated the get's so that the
expected default value would be returned if the version was not correct.
Merge pull request #72 from jhawk28/master

add 3.0 socket options
Corrected poll() comments, timeouts are in milliseconds

Fixed erroneous comments to the poll() functions which stated the
timeout parameters where in microseconds. They're passed verbatim to
the native library, which is in milliseconds.