title: setBackgroundView appearance for UITableView causes endless loop
body: <p>I faced strange endless loop in some cases using setBackgroundView for UITableView appearance. Here is  appearance initialization:</p>
  
  <pre class="lang-c prettyprint-override"><code>UIImageView *iv = [[UIImageView alloc] initWithImage:[UIImage imageNamed: @"bg"]];
  [[UITableView appearance] setBackgroundView:iv];
  </code></pre>
  
  <p>I have a controller:</p>
  
  <pre class="lang-c prettyprint-override"><code>@interface MyController : UITableViewController
  </code></pre>
  
  <p>that has only <code>init</code> method and <code>viewWill*/viewDid*</code> delegates with simple logging. Nothing else. In such case I'm getting endless messages about layouting subviews:</p>
  
  <pre><code>2013-06-05 21:23:45.054 MyApp[16700:c07] init
  2013-06-05 21:23:45.056 MyApp[16700:c07] viewDidLoad
  2013-06-05 21:23:45.057 MyApp[16700:c07] viewWillAppear
  2013-06-05 21:23:46.059 MyApp[16700:c07] viewWillLayoutSubviews
  2013-06-05 21:23:47.061 MyApp[16700:c07] viewDidLayoutSubviews
  2013-06-05 21:23:48.064 MyApp[16700:c07] viewWillLayoutSubviews
  2013-06-05 21:23:49.066 MyApp[16700:c07] viewDidLayoutSubviews
  2013-06-05 21:23:50.067 MyApp[16700:c07] viewWillLayoutSubviews
  2013-06-05 21:23:51.069 MyApp[16700:c07] viewDidLayoutSubviews
  2013-06-05 21:23:52.070 MyApp[16700:c07] viewWillLayoutSubviews
  </code></pre>
  
  <p>If I'll switch to:</p>
  
  <pre class="lang-c prettyprint-override"><code>@interface MyController : UIViewController
  </code></pre>
  
  <p>everything is going well.</p>
  
  <p>Is this expected behavior (and I didn't understood UIAppearance clearly) or this is broken functionality?</p>
  
  <p><strong>UPD</strong>: appearance initialized in AppDelegate.</p>
  
  <p><strong>UPD2</strong>: endless loop happens only on table view controllers that are pushed from another one </p>