EndianUtils: made base byte_swap funcs non-constexpr; general tidy.

NB: byte_swap() and byte_swap_if() make non-constexpr calls.
EncodingUtils: removed unused #include <stdexcept>.
test/general/headers: included <duct/traits.hpp>.
EncodingUtils: appeased x86 with difference_type.