bson: use GCC builtin's for bswap functionality when possible.

This should be a bit easier to maintain to boot. I'm removing the
per-platform swapping functions since they are mostly moot anyway.
Ideally, we would add support for non-GCC builtins in the future.
Clang and Intel compilers seem typical.
tests: add endianness test for builtin and fallback byte conversions.