Allow extra args in method `attributes`

Allow args to be passed in like this:

    SomeFactory().attributes(name='Alice')

Prevent extra args from being passed in, like this:

    SomeFactory().attributes(no_such_field='bad juju')