Fix for creating an entity with a private constructor.

Fix for issue #72.

Added a test for creating an entity with a private constructor. Removed new() constraints.

I used DbSet<T>.Create() to create an entity. This will only create a proxy class when the DbContext is configured to do so. So I think that is the desired behaviour.