remove none_type and its complicated typedef from detail namespace, add it as private member class to optional
remove none_type and its complicated typedef from detail namespace, add it as private member class to optional

tempbottle/variant,edwiincao/variant,tangrams/variant,tangrams/variant,edwiincao/variant,daniel-j-h/variant,daniel-j-h/variant,daniel-j-h/variant,edwiincao/variant,tangrams/variant,tempbottle/variant,tempbottle/variant