Move boost to thirdparty so that other projects can't find our boost dir.

Since we included the root project source directory to get boost, it would
cause other projects that used a build version of protocall to find our
subset of boost, which would cause problems with them expecting to find
full boost.

We move to having boost in thirdparty and only have plugins include that
directory.
Allow linking to protobuf found with a find module.
teach protocallc about findprotobuf executable variable.
Make building the vtk communicator based on the fact you are using vtk classes.
Single value send/receive aren't real interface methods all channels need.

The VTK communicator needs to be able to handle single value send and receive
so that it can pass raw data streams. Other communication devices don't
have these limitations and we shouldn't force this choice onto everybody.