Make factories respect entity kwargs.

Allow the following lines of code to act as expected:

    SomeEntity(name='foo').attributes()
    SomeEntity(name='foo').build()
    SomeEntity(name='foo').create()

Unfortunately, the value of `None` is not supported:

    SomeEntity(name=None).attributes()
    SomeEntity(name=None).build()
    SomeEntity(name=None).create()

See GitHub issue #1082 for more information.

Add tests for the following methods:

* `EntityFactoryMixin._factory_data`
* `Entity.get_values`