Add byte_buffer::operator=

in C++11, implicit definition of copy assignment operator
is deprecated if copy constructor and/or destructor is defined.
Add swap to byte_buffer
Remove byte_buffer's explicily defined special member functions

They are trivial, so using implicitly defined one is better.
Comment for byte_buffer
Fix implementation of byte_buffer::assign
Add test for byte_buffer
&(*buf_)[0] is undefined if buf_->size() == 0