Fix empty dictionary bug

Given a class:

```c#
public class Foo
{
    public Dictionary<string, string> Bar { get; set; }
}
```

If Bar has no elements, you get this xml:

```xml
<Foo>
  <Bar />
</Foo>
```

Deserializing that xml throws an exception.