String.Buffer::add() should accept another String.Buffer object

Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=4581

Reported by Jonas Wallden jonasw@roxen.com

This would avoid a temporary string conversion that sb1->add(sb2->get()) performs today.

It should be decided if the added buffer is cleared implicitly or not. In case of the latter a new clear() method would be useful instead.