replace `get_type_index` with `which()` + simplify `apply` methods to use  `is<T>()` via @lightmare  ref #67 TODO: to remove `get_type_index` completely - fix `REQUIRE(variant_type{mapbox::util::no_init()}.get_type_index() == mapbox::util::detail::invalid_value);` test. E.g make `invalid_type == sizeof(Types...) + 1`
replace `get_type_index` with `which()` + simplify `apply` methods to use  `is<T>()` via @lightmare  ref #67
TODO: to remove `get_type_index` completely - fix `REQUIRE(variant_type{mapbox::util::no_init()}.get_type_index() == mapbox::util::detail::invalid_value);` test. E.g make `invalid_type == sizeof(Types...) + 1`

daniel-j-h/variant,daniel-j-h/variant,daniel-j-h/variant