Work in progress
Major rework of config validator

Merged functionality of config validator with variant_tree.

It's much simplier now to use the framework:

    // First you initialize the tree giving it the optional path offset from
    // configuration root, and optional validator
    config_tree cfg("path.from.root", test::cfg_validator::instance());

    read_config_file(some_file_name, cfg);

The function above will automatically perform validation if the tree was
assigned a validator instance.