Refactor `UserEntity#initialize` (Issue #144)

It sounds simple, yes? Instead, it exposes what (I hope is) the scummiest, most deceptively tightly-coupled code we're likely to find in the app. (Unless refactoring `PostEntity` has the same pain level. It might; it's the only other client of the `InstanceVariableSetter` class.)

The first commit was relatively painless (on the fourth go). Looking at the code, you'd think that the instance variables are set properly, yes? That *should* eliminate the need for the `InstanceVariableSetter` instance, yes? You would be mistaken, and *that's* the "tight coupling".