JobQueue stores JobRequests instead of Messages.

The original prupose of the JobQueue was not only to hold a job, but to keep
it in the zmq layer as long as possible to reduce memory savings.

But because it remus a worker job class it is already removing the data
from zmq and than having it pass it back to zmq.

If we forgo trying to keep data in zmq as long as possible and accept
that remus isn't going to be super super high frequency we should adjust
our api to accept JobRequests.

Change-Id: I46098edc3e1c2ffae4849f4679f8b420e03155a3
Build the remus client as a library instead of being header only.

We are slowly moving to a more complex client class, and keeping it as
a header only library will make it harder to do things such as a async client,
and different job request types.

Change-Id: Ifd96ba9baddf4fbc639731ef5f3f141f59fb4b9d
Remove even more overlinking that isn't required.

Change-Id: I44b02649e61a5a127d5f58b97d4d282eeec00da1
Split client::JobRequest into Data and File classes

This is the start of making remus able to efficiently send file based
jobs to workers.

Change-Id: Ie37648e7e3f87ab227354710bd8e016f216269be