Feature/generate named constructor from beConstructedThrough

@thecrimpmaster  If you're handling existing constructors you'll need to also handle existing constructors that have some arguments... you can't return User() in that case as it'll fail on construction for missing arguments.