TestTextUtils: Add tests for SwapEndian* multiple-evalutation bug.

Current SwapEndian* implementations evaluate the argument multiple
times: we don't want this. A fixed implementation should allow
these tests to pass.
SwapEndian macros are now functions.
TestTextUtils: Fix access on SuiteSwap methods.
Revert "SwapEndian macros are now functions."

This reverts commit 66cb3d72d96ec8c3ff4a3c86b39f0d0da0d15f17.
Make SwapEndian functions inline.
OhNetDefines.h: Fix inline definition
Os.h: Fix function declaration, inclusion.
TestTextUtils: Adapt SwapEndian testing to inline implementation.

- Remove return width checks.
- 'volatile' forces compiler to do the swap.
- Explicit narrowing casts keep MSVC happy.
TestTextUtils: Fix initialisation bug.
TestTextUtils: Remove C++11 ism - auto :/
Os.h: Make SwapEndian functions static inline.

Several platforms reporting multiple definitions.
Fix for potential infinite loop in Windows networking.  See #843.
Merge branch 'master' of ssh://core.linn.co.uk/home/git/ohnet