text: Title: SelfAttributes Fail When Called Through PostGeneration functions
  Body: I have a simplified set of factory definitions below. If i try to create a WorkOrderKit object, via WorkOrderKitFactory(), it successfully generates a workorderkit with factory_boy 2.6.1 but fails with 2.9.2. I'm wondering if this is a bug or if it worked unintentionally before and this is the intended behavior. (If it is the intended behavior, do you have any suggestions on achieving this behavior now?)
  
  The whole example django project:  https://bitbucket.org/marky1991/factory-test/ .
  
  If you would like to test it yourself, checkout the project, setup the database, run setup_db.psql, and then run factory_test/factory_test/factory_test_app/test.py.
  
  Please let me know if anything is unclear or if you have any questions.
  
  ```python
  import factory
  from factory.declarations import SubFactory, SelfAttribute
  from factory.fuzzy import FuzzyText, FuzzyChoice
  from factory_test_app import models
  
  class ItemFactory(factory.DjangoModelFactory):
      class Meta:
          model = models.Item
  
      barcode = factory.fuzzy.FuzzyText(length=10)
  
  class OrderHdrFactory(factory.DjangoModelFactory):
      order_nbr = factory.fuzzy.FuzzyText(length=20)
      class Meta:
          model = models.OrderHdr
  
      @factory.post_generation
      def order_dtls(self, create, extracted, **kwargs):
          if not create:
              return
  
          if extracted is not None:
              for order_dtl in extracted:
                  order_dtl.order = self
                  author.save()
              return
          for _ in range(5):
              OrderDtlFactory(order=self,
                              **kwargs)
  
  class WorkOrderKitFactory(factory.DjangoModelFactory):
      class Meta:
          model = models.WorkOrderKit
      
      work_order_nbr = factory.fuzzy.FuzzyText(length=20)
      item = SubFactory(ItemFactory)
      sales_order = SubFactory(OrderHdrFactory,
                               order_dtls__item=SelfAttribute("..item"))
  
  class OrderDtlFactory(factory.DjangoModelFactory):
      class Meta:
          model = models.OrderDtl
  
      order = SubFactory(OrderHdrFactory,
                         order_dtls=[])
      item = SubFactory(ItemFactory)
  ```
  
  The traceback in 2.9.1:
  ```
  Traceback (most recent call last):
    File "factory_test_app/test.py", line 8, in <module>
      kit = WorkOrderKitFactory()
    File "/home/lgfdev/ve_factory_test/local/lib/python2.7/site-packages/factory/base.py", line 46, in __call__
      return cls.create(**kwargs)
    File "/home/lgfdev/ve_factory_test/local/lib/python2.7/site-packages/factory/base.py", line 568, in create
      return cls._generate(enums.CREATE_STRATEGY, kwargs)
    File "/home/lgfdev/ve_factory_test/local/lib/python2.7/site-packages/factory/base.py", line 505, in _generate
      return step.build()
    File "/home/lgfdev/ve_factory_test/local/lib/python2.7/site-packages/factory/builder.py", line 275, in build
      step.resolve(pre)
    File "/home/lgfdev/ve_factory_test/local/lib/python2.7/site-packages/factory/builder.py", line 224, in resolve
      self.attributes[field_name] = getattr(self.stub, field_name)
    File "/home/lgfdev/ve_factory_test/local/lib/python2.7/site-packages/factory/builder.py", line 366, in __getattr__
      extra=declaration.context,
    File "/home/lgfdev/ve_factory_test/local/lib/python2.7/site-packages/factory/declarations.py", line 306, in evaluate
      return self.generate(step, defaults)
    File "/home/lgfdev/ve_factory_test/local/lib/python2.7/site-packages/factory/declarations.py", line 395, in generate
      return step.recurse(subfactory, params, force_sequence=force_sequence)
    File "/home/lgfdev/ve_factory_test/local/lib/python2.7/site-packages/factory/builder.py", line 236, in recurse
      return builder.build(parent_step=self, force_sequence=force_sequence)
    File "/home/lgfdev/ve_factory_test/local/lib/python2.7/site-packages/factory/builder.py", line 296, in build
      context=postgen_context,
    File "/home/lgfdev/ve_factory_test/local/lib/python2.7/site-packages/factory/declarations.py", line 570, in call
      instance, create, context.value, **context.extra)
    File "/home/lgfdev/factory_test/factory_test/factory_test_app/factories.py", line 29, in order_dtls
      **kwargs)
    File "/home/lgfdev/ve_factory_test/local/lib/python2.7/site-packages/factory/base.py", line 46, in __call__
      return cls.create(**kwargs)
    File "/home/lgfdev/ve_factory_test/local/lib/python2.7/site-packages/factory/base.py", line 568, in create
      return cls._generate(enums.CREATE_STRATEGY, kwargs)
    File "/home/lgfdev/ve_factory_test/local/lib/python2.7/site-packages/factory/base.py", line 505, in _generate
      return step.build()
    File "/home/lgfdev/ve_factory_test/local/lib/python2.7/site-packages/factory/builder.py", line 275, in build
      step.resolve(pre)
    File "/home/lgfdev/ve_factory_test/local/lib/python2.7/site-packages/factory/builder.py", line 224, in resolve
      self.attributes[field_name] = getattr(self.stub, field_name)
    File "/home/lgfdev/ve_factory_test/local/lib/python2.7/site-packages/factory/builder.py", line 366, in __getattr__
      extra=declaration.context,
    File "/home/lgfdev/ve_factory_test/local/lib/python2.7/site-packages/factory/declarations.py", line 137, in evaluate
      target = step.chain[self.depth - 1]
  IndexError: tuple index out of range
  ```