Adds support for string slices

By defining two variables on the same Key and given that the key is
defined as a []string slice, the first string is not overwritten but
instead we append the second value.

E.g. we define our struct:

    type Config struct {
        Foo []string
    }

And now we can say:

    Foo = "Loreum"
    Foo = "Ipsum"

And the resulting config.Foo will be the slice `[]stirng{"Loreum",
"Ipsum"}`. Currently only support for string slices, as we need to check
the slice-type and then convert Value-string to correct type as we
already do - and I could not (yet) figure a smart way of doing this
without repeating the code.