Use destructive methods where possible in build_attributes

This yields between 4-8% improvement in benchmarks on compiled Haml.
Replace Rails 3.2.3 textarea hack with general solution.

This change outdents the content and closing tag of any "preserved"
element (by default textarea, pre and code) that spans multiple lines.

This avoids problems encoding whitespace inside these tags.