Added template function select_if() in variant.h; Unit-tested.

Yes I do:
`test/select_if_test.cpp:15:5: error: cannot refer to class template 'dynamic_bitset' without a template argument list
    dynamic_bitset(string("111")),  //Beware that in setting dynamic_bitset that way
    ^
`