Take (mut ~self) instead of using `let mut mut_self = self;`
Use write!(...) instead of .write(format!(...)).
Make buffer closer to std::rt::io::buffered.

In a while, it will be replacing it (as functionality moved upstream),
but it isn't quite ready yet.
Improve and test server request line reading.
Update .hgignore to match .gitignore.
Add a rule to generate a TAGS file.
Add a rule for building docs with rustdoc.