Refactored smells out of document/attributes.rb

Smells reported by reek:

Before:

46: NoBrainer::Document::Attributes#assign_attributes has the
    variable name 'k' (UncommunicativeVariableName)
46: NoBrainer::Document::Attributes#assign_attributes has the
    variable name 'v' (UncommunicativeVariableName)
53: NoBrainer::Document::Attributes#inspect calls self.class
    twice (DuplicateMethodCall)
53: NoBrainer::Document::Attributes#inspect has the variable
    name 'f' (UncommunicativeVariableName)
74: NoBrainer::Document::Attributes::ClassMethods#field calls
    klass.fields twice (DuplicateMethodCall)
59: NoBrainer::Document::Attributes::ClassMethods#new_from_db
    is controlled by argument attrs (ControlParameter)

After:

60: NoBrainer::Document::Attributes::ClassMethods#new_from_db
    is controlled by argument attrs (ControlParameter)

Note:

This is pretty much because of the "if attrs" check, which is more or
less the same as a nil check. I tried switching this up so that attrs
is always at least an empty hash, but this breaks behavior, so I've left
the smell in.