Initial merge of boost io