Find Boost when finding sprokit

Boost is required for sprokit to work. To accomplish this, a few things
must be met:

  - if sprokit is marked as REQUIRED, Boost is REQUIRED as well;
  - same exact version must be used; and
  - if sprokit uses a static Boost, dependent projects should as well.

If Boost_INCLUDE_DIR isn't set already, the value used to build sprokit
will be used to help things go smoothly.
Split sprokit-specific includes out

Use _DIR for sprokit's paths and _DIRS for dependencies as well.
Split out common sprokit-config logic

Split out the differences between a build and install tree into separate
files. This allows the logic for requiring boost, checking versions, and
so on exist only once.
Deny a relative install prefix

This makes the installed sprokit-config.cmake file fairly useless.
Add test for pushing an "any" type in the pipeline

The "any" type should not try and override existing types on a port.
Ignore any types when setting the type for a port

The type is a wildcard and says nothing about what the port should
actually be, so ignore any requests to set a port type to "any".
Add test for "any" when pushing downstream
Add "duplicate" and "skip" example processes

These processes are for testing frequency mismatches in the pipeline.
Implement tests for port frequencies in a pipeline

These test that frequencies on "spurs" within a pipeline topology are
always valid. The problems arise when incompatible frequencies are
brought joined together in a pipeline.
Use std::set to keep track of ports groups

When iterating over required ports, no port should be referenced twice.
Remove the input port from static_inputs as well

The configuration key is still around however.
Add a test which has a frequency mismatch
Add a test for frequencies which match when merged
Add more information to frequency mismatch errors
Use the port's info when resetting flow-dep ports

Without this, information from the flow-dependent port was being
propagated to other ports, wrecking flags, descriptions, and
frequencies.
Test running a pipeline with a frequency change
Merge branch 'dev/pipeline-frequency-tests'

* dev/pipeline-frequency-tests:
  Test running a pipeline with a frequency change
  Use the port's info when resetting flow-dep ports
  Add more information to frequency mismatch errors
  Add a test for frequencies which match when merged
  Add a test which has a frequency mismatch
  Remove the input port from static_inputs as well
  Use std::set to keep track of ports groups
  Implement tests for port frequencies in a pipeline
  Add "duplicate" and "skip" example processes
  Add test for "any" when pushing downstream
  Ignore any types when setting the type for a port
  Add test for pushing an "any" type in the pipeline
Merge branch 'dev/find-boost-when-finding-sprokit'

* dev/find-boost-when-finding-sprokit:
  Deny a relative install prefix
  Split out common sprokit-config logic
  Split sprokit-specific includes out
  Find Boost when finding sprokit
Use the public dashboard URL
Merge branch 'dev/update-cdash-url'

* dev/update-cdash-url:
  Use the public dashboard URL