Fixes for plFormat on GCC/Clang:
- int64_t is a typedef of long on Linux/x86_64 -- don't redefine its specialization
- Properly forward-declare the unspecialized variadic template form of _IFormat
Make life simpler. Make life less stupid. Make life work.
Fix it for standards-complient compilers (GCC/Clang).

Unfortunately, this means that all formatters must be declared in the
same place now, as they must be declared BEFORE the template which uses
them is declared (not just before it was instantiated, which MSVC allows).
Merge pull request #427 from zrax/plFormat_fixes

Fix plFormat for standards-compliant compilers (GCC/Clang)
Add an hsDeprecated macro for declaring APIs deprecated