Implement ptree using variant as datatype

Provide the basic boilerplate for holding and extracting boost variant
objects in a boost property_tree. This does not provide any
functionality for reading/writing to the various text formats
builtin to ptree.
Implement quick and dirty value type

Whilst boost variant provides the core functionality for properties,
we want to add a wrapper a round to implement the full abstraction
of a property. Implement a quick and dirty "value_t" as a starting
point for this.