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