Add first example of boost::variant usage

Add Source subdirectory as a clean root for all example work, and
partition this into further subdirectories, one per facet of the
Boost libraries. Make Variant subdirectory here to work on tests of
the boost::variant type, implementing a very simple check that it
can be used correctly.

Implement necessary CMake recursion structure to add the tree of
directories.