Updates PostSharp references to 4.0.36

I wanted to use the EnsureNonNullAspect attribute with version 4.0.36 of PostSharp, but when I included the NuGet package I ended up getting a bunch of assembly binding issues reported from PostSharp.  I've forked and changed the references to the latest stable PostSharp version.

I also want to change the package version number, but I wasn't sure exactly what to update it to.  For now I've just incremented it but let me know if there's a better change to make here.

My new test was to find out why the attribute wasn't applying to a protected constructor, so I'm including it here to demonstrate usage for protected constructors.