title: Phoenix.HTML.Form does not take errors from changeset
body: <p>I have template code that looks like this:</p>
  
  <pre><code>&lt;%= form_for @changeset, @action, fn f -&gt; %&gt;
    &lt;%= if Enum.any?(f.errors) do %&gt;
      &lt;%= for {attr, message} &lt;- f.errors do %&gt;
        &lt;li&gt;&lt;%= humanize(attr) %&gt; &lt;%= message %&gt;&lt;/li&gt;
      &lt;% end %&gt;
    &lt;% end %&gt;
  &lt;% end %&gt;
  </code></pre>
  
  <p>But no errors are printed even if the changeset contains errors. Here is the inspected form struct. Notice that the errors list is empty even though it was built from the changeset with errors.</p>
  
  <pre><code>%Phoenix.HTML.Form{data: %BlogPhoenix.Comment{__meta__: #Ecto.Schema.Metadata&lt;:built, "comments"&gt;,
    content: nil, id: nil, inserted_at: nil, name: nil, post_id: nil,
    posts: #Ecto.Association.NotLoaded&lt;association :posts is not loaded&gt;,
    updated_at: nil}, errors: [], hidden: [], id: "comment",
   impl: Phoenix.HTML.FormData.Ecto.Changeset, index: nil, name: "comment",
   options: [method: "post"],
   params: %{"content" =&gt; nil, "name" =&gt; nil, "post_id" =&gt; "1"},
   source: #Ecto.Changeset&lt;action: nil, changes: %{},
    errors: [name: {"can't be blank", [validation: :required]},
     content: {"can't be blank", [validation: :required]}],
    data: #BlogPhoenix.Comment&lt;&gt;, valid?: false&gt;}
  </code></pre>
  
  <p>What is going on here? Shouldn't this errors list be populated?</p>