Fix #59: Unreachable code warning in the padder class.
Fix #59: Unreachable code warning in the padder class.

By taking the padding character put call out of the tail() function
and appending it after the tail() call in encode(), the compiler
will work with a more limited set of numbers known at runtime
instead of a slightly longer list of consecutive numbers at
compile time. The code paths that would cause an unreachable code
warning are now actually removed and would also be impossible
to tell in advance by the compiler.

Code sizes remain the same for clang as well as gcc in all
but debug builds, where they only marginally differ.

What's weird is that this change makes my GCC 8.2 release build
perform better on the "Decoding to vector<uint8_t>" benchmark -
weird because none of the changed code is called by any decode()
code paths. But hey, I'll take it. Average time for this task
go down from approx. 67 microseconds for the size 32768 buffer
to approx. 54 microseconds on my machine. Clang appears unaffected.

tplgy/cppcodec,jpetso/cppcodec