UserEntity defines all attributes for each entity.

Even if they hold `nil` values. Yes, a small step for code. Yes,
brittle specs. :grimacing:

RSpec: 708 examples, 0 failures
RuboCop: 181 files inspected, no offenses detected
Fixed *two* bugs in InstanceVariableSetter.

Also killed `InstanceVariableSetter#allow_attributes`. It's a feature
that (as it now turns out) our two uses of this class never use; both
use what the spec calls callback initialisation.

Next up: killing one of those two uses; namely, that in `UserEntity`.

RSpec: 707 examples, 0 failures
RuboCop: 181 files inspected, no offenses detected
Restored InstanceVariableSetter#allow_attributes

…and added (hopefully) much better docs. The fact that neither current
client uses the block-initialisation usage isn't (necessarily) an
argument that they're too tightly coupled to this code; it's an
(incorrect, in UserEntity's case) declaration that all ivars can be
treated exactly the same for purposes of initialisation. Oops.

RSpec: 708 examples, 0 failures
RuboCop: 181 files inspected, no offenses detected
Passwords decoupled from mass initialisation.

Time to do what I wanted to do: 15 minutes. Time to get my head on
straight to figure out what I *meant* to do: two *days*. Moral: never
open issues, nor attempt to work on them, when your brain feels like,
and has the effectiveness equivalent to, mouldy, waterlogged, week-old
cotton candy. 'Nuff said.

RSpec: 708 examples, 0 failures
RuboCop: 181 files inspected, no offenses detected
Merge pull request #146 from jdickey/issue-144

[Close #144] Refactor `UserEntity#initialize` such that initialising password attributes can be separated from initialisation of other attributes.