[MAT-450] Native code compilation for Win 32-bit

- Macros identifying whether we are building for 32- or 64-bit are
  added to MultiLib.cmake - BITS32 and BITS64
- On 32-bit Windows, we add -ffloat-store for consistent
  floating-point results with 64-bit platforms, and
  --add-stdcall-alias in order to export undecorated symbols,
  which are not the default on 32-bit Windows and are required for
  correct JNI linkage.
[MAT-450] Add manifests to tests on Windows

Installer Detection Technology on 32-bit Windows mistakes many
tests for installers and pops up a UAC prompt when they are
executed.

This commit adds a manifest to test programs to prevent this
happening. This applies to both 32- and 64-bit Windows, as it is
likely that future versions of Windows will require a manifest to
be present.
[MAT-450] No offheap memory mgmt on Windows 32-bit

The off-heap memory manager requires alterations for 32-bit
systems. As it is not yet integrated into the rest of OG-Maths,
building and testing it is disabled on 32-bit systems.
[MAT-450] Update NativeLibraryLoader for 32-bit

The GCC runtime libraries have different names and a different
default location on 32-bit Windows. This commit accommodates this
by:

- Modifying syslibs.py to copy the correct libraries from the
  correct location depending on the architecture, which is
  controlled by a flag passed to it from its invocation in
  UseJava.cmake.
- Modifying the NativeLibraries.properties file to differentiate
  between 32- and 64-bit systems and adding a set of library
  entries for 32-bit Windows.
- Modifying the NativeLibraries class so that it doesn't abort on
  32-bit Windows, and reads the new format of the properties file
  correctly.
[MAT-450] Fix doclint errors on JDK 8