Remove unneeded logic to compile the examples.

We use usage requirements to get all the examples to compile.

Change-Id: I9d9efcbe0e42cff89e151c6d96785d2d00ea8bd5
Allow derived servers more control over brokering.

This requires that signal catching is a public inheritance so derived classes
can enable and disable the request. It also requires that we make the Client
and Worker queries protected so that derived classes can use them.

Change-Id: Ib55af7a20329e9c4baf655257755b550d48c2d5d
Correct linking issues with derived servers, and header only classes.

Change-Id: Ica97f87aaf90ff4ebc290a7e6f92ca80179ecbdf
Remove unneeded conversion routines for job status.

We never have a progress event with -1 or 0 progress value.

Change-Id: Ief1fc4aa919c5fe81a93a497c7083696198f0371
Move the internal folder to detail to standardize folder layout.

Change-Id: I9590a668db5761ef6d322820b08513d173c143f7
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