title: Unresolved import when calling a macro defined in an external crate
body: <p>I am trying to implement a custom HTTP header using <a href="http://hyperium.github.io/hyper/hyper/macro.impl_header!.html" rel="nofollow">impl_header</a> macro from hyper crate but it seems it cannot resolve the <code>hyper::header</code> module.</p>
  
  <p>Here is my code:</p>
  
  <pre><code>#[macro_use] extern crate hyper;
  use hyper::header;
  struct CustomHeader;
  impl_header!(CustomHeader, "value", String);
  </code></pre>
  
  <p>And here is the compiler error:</p>
  
  <pre><code>&lt;hyper macros&gt;:11:14: 11:20 error: unresolved import `header::HeaderFormat`. Maybe a missing `extern crate header`?
  &lt;hyper macros&gt;:11 Result { use header:: HeaderFormat ; self . fmt_header ( f ) } } }
                                 ^~~~~~
  &lt;hyper macros&gt;:1:1: 11:67 note: in expansion of impl_header!
  lib.rs:4:1: 4:45 note: expansion site
  error: aborting due to previous error
  Could not compile `macro_issue`.
  </code></pre>
  
  <p>Any clue why this happens and how can I fix it?</p>
  
  <p>Thank you</p>