Allow `Factory` subclasses to provide field values

Subclasses of class `Factory` can now provide field values. For example, a class
`PersonFactory` might include code like this:

    def __init__(self):
        super(PersonFactory, self).__init__(
            entities.Person,
            interface=interface
        )
        self.field_values['name'] = 'Alice'

When this is done, 'Alice' will be used for the 'name' field instead of what is
generated by `factories._get_default_value`.