Implementation of I18n model field

I18n model field implements i18n fields compatible with mongodb text index.

usage:

```D
struct MyModel {
    struct Text{
        string description;
        string more_i18n_info;
    }
    I18n!string name;
    I18n!Text texts;
}

// under requestContext
auto obj = new MyModel();
obj.name = "model-name";
obj.texts.description = "...";
obj.texts.more_i18n_info = "...";

/*
serializeJson(obj):
{
    name: [{
        language: req.language,
        translation: "model-name"
    }],
    texts: [{
        language: req.language,
        translation: {
            description: "...",
            translation: "...."
        }
    }]
}

 */
```