std/extra: changing XXX to FIXME; cleanup

* Get rid of by-value-self workarounds; it works now
* Remove type annotations, they're not needed anymore
* Move http module to extra
extra: change alloc to take &mut self, as per XXX comment
extra: change XXX to FIXME and elaborate on comments
Testsuite: Test for #7013. Closes #7013
rustc: More helpful error message when using a struct type like a function

Closes #6702