Add unit tests for StringBuffer

I want C++11 move semantics from `GenericStringBuffer`. Looking at the code, it doesn't seem to provide this.

I wrote a unit test, expecting it to fail, and to my surprise it didn't!

So here is the test. It extends the coverage a little, although `StringBuffer` is quite trivial really.

Perhaps someone could explain to me why the struct seemingly behaves according to C++11 move semantics. Is it simply that all its members are moveable, so there is a default move ctor generated?