Separate extern crate and pub mod searches

 - fixed bug where 'collections' crate was getting matched to core::collections module and vice versa
Add struct field type inference - so you can do self.myfield.<tab>
fix bug: when doing static scope search was mis-matching the first function of an impl as a function
bugfix: macro invocations were confusing codeiter

e.g. 'local_data_key!(local_stdout: Box<Writer + Send>)' doesn't need a semicolon to terminate
Added various vim improvements and optional python-based completion.
Forgot to remove a timing line.
Workaround for a bug with impl
Testing out the new changes from upstream.
Merge branch 'master' of github.com:rsw0x/racer