Static Protected Fix

So previously if you had a protected method/getter/setter in a C++ static class like so:
```
struct DLL_API TestStaticClass
{
 protected:
	static int _Mult(int a, int b) { return a * b; }
	static int GetFourFiveSix() { return 456; }

private:
    TestStaticClass();
};
```

CppSharp would generate the following C# class:
```
    public unsafe static partial class TestStaticClass
    {
        protected static int _Mult(int a, int b) { }
        protected static int FourFiveSix { get; }
    }
```

The problem here is that `protected` members are not allowed in a static class in C# and the resulting class would not compile.

This PR fixes those cases to correctly generate `internal` members which can then be accessible from within assembly or an additional partial method.