Fixed various compiler warnings from g++ -Wall

Tidied some constructor member-orderings to avoid need for #pragma.
Removed selected unused variables to avoid "#pragma unused".
Defensively initialized various variables to avoid uninitialized warnings.
Patched miscellaneous boolean ORs masquerading as logical ORs.
(Many warnings remain.)