Here I fixed both problems from #316

I've fixed both problems from #316, but Nullable still not work good. We have one more proble, that cannot be fixed without changing of translation.
Here is sample test:
```
using System;

public static class Program
{
    public static void Main(string[] args)
    {
        MutableStruct? b = new MutableStruct();
        Console.WriteLine(b.Value.Value);
        b.Value.Increment();
        Console.WriteLine(b.Value.Value);
    }
}

public struct MutableStruct
{
    public int Value;

    public void Increment()
    {
        Value++;
    }
}
```

In that test, when on .Net we access Value of Nullable, we get copy of its' inner value. So, when we call mutation method, it modifies copy of source struct. As on js side JSIL use approach of unwrapping nullable objects, mutation call change source structure.
So, on .Net output is 0, and in JSIL is 1.

What do you think will be better - add this info to #316 and don't close it some more time or create new issue for it?