Fix base64 decoding of multi-byte character

Hello again. I just discovered that sometimes we do need to concatenate consecutive base64 buffers before decoding, such as when dealing with multi-byte character set. To fix this problem, the idea is to try to see whether or not the concatenation affects the end result. If it does, we should flag the current chunk as partial.

As far as the test is concerned, this method works fine, but I am not quite sure about it. So, please review.

Thanks.