Move formatting stuff into libcore+libsyntax
Get writef! stuff compiling
Change to better format method calls
fmt: move formatting some logic to core::fmt, enhance the default impls
Parser is more flexible and better tested now